{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542\\t/front-api/bill/create\\t8\\t1057.31...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644\\t/front-api/bill/create\\t5\\t749.12\\t103...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742\\t/front-api/bill/create\\t5\\t845.84\\t136...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808\\t/front-api/bill/create\\t9\\t1305.52\\t90...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943\\t/front-api/bill/create\\t3\\t568.89\\t138...</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                   0\n",
       "0  2019162542\\t/front-api/bill/create\\t8\\t1057.31...\n",
       "1  162644\\t/front-api/bill/create\\t5\\t749.12\\t103...\n",
       "2  162742\\t/front-api/bill/create\\t5\\t845.84\\t136...\n",
       "3  162808\\t/front-api/bill/create\\t9\\t1305.52\\t90...\n",
       "4  162943\\t/front-api/bill/create\\t3\\t568.89\\t138..."
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('./log.txt',header = None)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "      <th>7</th>\n",
       "      <th>8</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>162742</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>162808</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>162943</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            0                       1  2        3       4       5      6   7  \\\n",
       "0  2019162542  /front-api/bill/create  8  1057.31   88.75  177.72  132.0  60   \n",
       "1      162644  /front-api/bill/create  5   749.12  103.79  240.38  149.0  60   \n",
       "2      162742  /front-api/bill/create  5   845.84  136.31  225.73  169.0  60   \n",
       "3      162808  /front-api/bill/create  9  1305.52   90.12  196.61  145.0  60   \n",
       "4      162943  /front-api/bill/create  3   568.89  138.45  232.02  189.0  60   \n",
       "\n",
       "                     8  \n",
       "0  2018-11-01 00:00:07  \n",
       "1  2018-11-01 00:01:07  \n",
       "2  2018-11-01 00:02:07  \n",
       "3  2018-11-01 00:03:07  \n",
       "4  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.read_csv('./log.txt',header = None,sep = '\\t')\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.columns = ['id','api','count','res_time_sum','res_time_min','res_time_max','res_time_avg','interval','created_at']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id                     api  count  res_time_sum  res_time_min  \\\n",
       "0  2019162542  /front-api/bill/create      8       1057.31         88.75   \n",
       "1      162644  /front-api/bill/create      5        749.12        103.79   \n",
       "\n",
       "   res_time_max  res_time_avg  interval           created_at  \n",
       "0        177.72         132.0        60  2018-11-01 00:00:07  \n",
       "1        240.38         149.0        60  2018-11-01 00:01:07  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>124976</th>\n",
       "      <td>9253261</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>16</td>\n",
       "      <td>4531.75</td>\n",
       "      <td>130.08</td>\n",
       "      <td>579.50</td>\n",
       "      <td>283.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-03-29 21:56:14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26393</th>\n",
       "      <td>2521623</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1261.17</td>\n",
       "      <td>111.99</td>\n",
       "      <td>224.02</td>\n",
       "      <td>157.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-12-01 19:03:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16326</th>\n",
       "      <td>1617873</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>10</td>\n",
       "      <td>2403.77</td>\n",
       "      <td>96.29</td>\n",
       "      <td>417.21</td>\n",
       "      <td>240.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-19 22:50:44</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>61661</th>\n",
       "      <td>4950021</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>7</td>\n",
       "      <td>914.33</td>\n",
       "      <td>94.16</td>\n",
       "      <td>183.63</td>\n",
       "      <td>130.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-01-11 21:18:16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60948</th>\n",
       "      <td>4902643</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>6</td>\n",
       "      <td>773.20</td>\n",
       "      <td>91.38</td>\n",
       "      <td>165.98</td>\n",
       "      <td>128.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-01-10 23:40:14</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             id                     api  count  res_time_sum  res_time_min  \\\n",
       "124976  9253261  /front-api/bill/create     16       4531.75        130.08   \n",
       "26393   2521623  /front-api/bill/create      8       1261.17        111.99   \n",
       "16326   1617873  /front-api/bill/create     10       2403.77         96.29   \n",
       "61661   4950021  /front-api/bill/create      7        914.33         94.16   \n",
       "60948   4902643  /front-api/bill/create      6        773.20         91.38   \n",
       "\n",
       "        res_time_max  res_time_avg  interval           created_at  \n",
       "124976        579.50         283.0        60  2019-03-29 21:56:14  \n",
       "26393         224.02         157.0        60  2018-12-01 19:03:09  \n",
       "16326         417.21         240.0        60  2018-11-19 22:50:44  \n",
       "61661         183.63         130.0        60  2019-01-11 21:18:16  \n",
       "60948         165.98         128.0        60  2019-01-10 23:40:14  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.sample(5)  # 随机采样，多次执行，数据不一样，看大概"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(179496, 9)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "id                int64\n",
       "api              object\n",
       "count             int64\n",
       "res_time_sum    float64\n",
       "res_time_min    float64\n",
       "res_time_max    float64\n",
       "res_time_avg    float64\n",
       "interval          int64\n",
       "created_at       object\n",
       "dtype: object"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.dtypes"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 9 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   id            179496 non-null  int64  \n",
      " 1   api           179496 non-null  object \n",
      " 2   count         179496 non-null  int64  \n",
      " 3   res_time_sum  179496 non-null  float64\n",
      " 4   res_time_min  179496 non-null  float64\n",
      " 5   res_time_max  179496 non-null  float64\n",
      " 6   res_time_avg  179496 non-null  float64\n",
      " 7   interval      179496 non-null  int64  \n",
      " 8   created_at    179496 non-null  object \n",
      "dtypes: float64(4), int64(3), object(2)\n",
      "memory usage: 12.3+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()   # 查看内存占用空间"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                     179496\n",
       "unique                         1\n",
       "top       /front-api/bill/create\n",
       "freq                      179496\n",
       "Name: api, dtype: object"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['api'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = df.drop('api', axis = 1) # 优化内存，指定axis,指定删除一列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>api</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2019162542</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>162644</td>\n",
       "      <td>/front-api/bill/create</td>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "           id                     api  count  res_time_sum  res_time_min  \\\n",
       "0  2019162542  /front-api/bill/create      8       1057.31         88.75   \n",
       "1      162644  /front-api/bill/create      5        749.12        103.79   \n",
       "\n",
       "   res_time_max  res_time_avg  interval           created_at  \n",
       "0        177.72         132.0        60  2018-11-01 00:00:07  \n",
       "1        240.38         149.0        60  2018-11-01 00:01:07  "
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 179496 entries, 0 to 179495\n",
      "Data columns (total 8 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   id            179496 non-null  int64  \n",
      " 1   count         179496 non-null  int64  \n",
      " 2   res_time_sum  179496 non-null  float64\n",
      " 3   res_time_min  179496 non-null  float64\n",
      " 4   res_time_max  179496 non-null  float64\n",
      " 5   res_time_avg  179496 non-null  float64\n",
      " 6   interval      179496 non-null  int64  \n",
      " 7   created_at    179496 non-null  object \n",
      "dtypes: float64(4), int64(3), object(1)\n",
      "memory usage: 11.0+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count                  179496\n",
       "unique                 179496\n",
       "top       2019-03-31 14:02:15\n",
       "freq                        1\n",
       "Name: created_at, dtype: object"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df['created_at'].describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [id, count, res_time_sum, res_time_min, res_time_max, res_time_avg, interval, created_at]\n",
       "Index: []"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df.created_at == '2019-05-01']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>153089</th>\n",
       "      <td>11406128</td>\n",
       "      <td>6</td>\n",
       "      <td>2105.08</td>\n",
       "      <td>125.74</td>\n",
       "      <td>992.46</td>\n",
       "      <td>350.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:00:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153090</th>\n",
       "      <td>11406236</td>\n",
       "      <td>7</td>\n",
       "      <td>2579.11</td>\n",
       "      <td>76.55</td>\n",
       "      <td>987.47</td>\n",
       "      <td>368.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:01:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153091</th>\n",
       "      <td>11406347</td>\n",
       "      <td>7</td>\n",
       "      <td>1277.79</td>\n",
       "      <td>109.65</td>\n",
       "      <td>236.73</td>\n",
       "      <td>182.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:02:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153092</th>\n",
       "      <td>11406446</td>\n",
       "      <td>7</td>\n",
       "      <td>2137.20</td>\n",
       "      <td>131.55</td>\n",
       "      <td>920.52</td>\n",
       "      <td>305.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:03:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153093</th>\n",
       "      <td>11406488</td>\n",
       "      <td>13</td>\n",
       "      <td>2948.70</td>\n",
       "      <td>86.42</td>\n",
       "      <td>491.31</td>\n",
       "      <td>226.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:04:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153968</th>\n",
       "      <td>11475363</td>\n",
       "      <td>6</td>\n",
       "      <td>1083.97</td>\n",
       "      <td>70.85</td>\n",
       "      <td>262.22</td>\n",
       "      <td>180.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:55:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153969</th>\n",
       "      <td>11475483</td>\n",
       "      <td>4</td>\n",
       "      <td>840.00</td>\n",
       "      <td>117.31</td>\n",
       "      <td>382.63</td>\n",
       "      <td>210.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:56:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153970</th>\n",
       "      <td>11475550</td>\n",
       "      <td>2</td>\n",
       "      <td>295.51</td>\n",
       "      <td>101.71</td>\n",
       "      <td>193.80</td>\n",
       "      <td>147.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:57:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153971</th>\n",
       "      <td>11475597</td>\n",
       "      <td>2</td>\n",
       "      <td>431.99</td>\n",
       "      <td>84.43</td>\n",
       "      <td>347.56</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:58:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>153972</th>\n",
       "      <td>11475664</td>\n",
       "      <td>3</td>\n",
       "      <td>428.84</td>\n",
       "      <td>103.58</td>\n",
       "      <td>206.57</td>\n",
       "      <td>142.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:59:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>884 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "              id  count  res_time_sum  res_time_min  res_time_max  \\\n",
       "153089  11406128      6       2105.08        125.74        992.46   \n",
       "153090  11406236      7       2579.11         76.55        987.47   \n",
       "153091  11406347      7       1277.79        109.65        236.73   \n",
       "153092  11406446      7       2137.20        131.55        920.52   \n",
       "153093  11406488     13       2948.70         86.42        491.31   \n",
       "...          ...    ...           ...           ...           ...   \n",
       "153968  11475363      6       1083.97         70.85        262.22   \n",
       "153969  11475483      4        840.00        117.31        382.63   \n",
       "153970  11475550      2        295.51        101.71        193.80   \n",
       "153971  11475597      2        431.99         84.43        347.56   \n",
       "153972  11475664      3        428.84        103.58        206.57   \n",
       "\n",
       "        res_time_avg  interval           created_at  \n",
       "153089         350.0        60  2019-05-01 00:00:48  \n",
       "153090         368.0        60  2019-05-01 00:01:48  \n",
       "153091         182.0        60  2019-05-01 00:02:48  \n",
       "153092         305.0        60  2019-05-01 00:03:48  \n",
       "153093         226.0        60  2019-05-01 00:04:48  \n",
       "...              ...       ...                  ...  \n",
       "153968         180.0        60  2019-05-01 23:55:49  \n",
       "153969         210.0        60  2019-05-01 23:56:49  \n",
       "153970         147.0        60  2019-05-01 23:57:49  \n",
       "153971         215.0        60  2019-05-01 23:58:49  \n",
       "153972         142.0        60  2019-05-01 23:59:49  \n",
       "\n",
       "[884 rows x 8 columns]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[(df.created_at >= '2019-05-01') & (df.created_at < '2019-05-02')]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "RangeIndex(start=0, stop=179496, step=1)"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index # 查看当前索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.index = df['created_at']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "ename": "KeyError",
     "evalue": "'2019-05-01'",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32mc:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36mget_loc\u001b[1;34m(self, key, method, tolerance)\u001b[0m\n\u001b[0;32m   2645\u001b[0m             \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2646\u001b[1;33m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2647\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: '2019-05-01'",
      "\nDuring handling of the above exception, another exception occurred:\n",
      "\u001b[1;31mKeyError\u001b[0m                                  Traceback (most recent call last)",
      "\u001b[1;32m<ipython-input-25-995cf5800d39>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[1;32m----> 1\u001b[1;33m \u001b[0mdf\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'2019-05-01'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[1;32mc:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\pandas\\core\\frame.py\u001b[0m in \u001b[0;36m__getitem__\u001b[1;34m(self, key)\u001b[0m\n\u001b[0;32m   2798\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mnlevels\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2799\u001b[0m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2800\u001b[1;33m             \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2801\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mis_integer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mindexer\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2802\u001b[0m                 \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[0mindexer\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mc:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\pandas\\core\\indexes\\base.py\u001b[0m in \u001b[0;36mget_loc\u001b[1;34m(self, key, method, tolerance)\u001b[0m\n\u001b[0;32m   2646\u001b[0m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2647\u001b[0m             \u001b[1;32mexcept\u001b[0m \u001b[0mKeyError\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2648\u001b[1;33m                 \u001b[1;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_maybe_cast_indexer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2649\u001b[0m         \u001b[0mindexer\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mget_indexer\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m[\u001b[0m\u001b[0mkey\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mmethod\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mmethod\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mtolerance\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mtolerance\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2650\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mindexer\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m1\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0mindexer\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0msize\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m1\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\index.pyx\u001b[0m in \u001b[0;36mpandas._libs.index.IndexEngine.get_loc\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;32mpandas\\_libs\\hashtable_class_helper.pxi\u001b[0m in \u001b[0;36mpandas._libs.hashtable.PyObjectHashTable.get_item\u001b[1;34m()\u001b[0m\n",
      "\u001b[1;31mKeyError\u001b[0m: '2019-05-01'"
     ]
    }
   ],
   "source": [
    "df['2019-05-01']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "Index: 179496 entries, 2018-11-01 00:00:07 to 2019-05-30 23:10:21\n",
      "Data columns (total 8 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   id            179496 non-null  int64  \n",
      " 1   count         179496 non-null  int64  \n",
      " 2   res_time_sum  179496 non-null  float64\n",
      " 3   res_time_min  179496 non-null  float64\n",
      " 4   res_time_max  179496 non-null  float64\n",
      " 5   res_time_avg  179496 non-null  float64\n",
      " 6   interval      179496 non-null  int64  \n",
      " 7   created_at    179496 non-null  object \n",
      "dtypes: float64(4), int64(3), object(1)\n",
      "memory usage: 12.3+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Index(['2018-11-01 00:00:07', '2018-11-01 00:01:07', '2018-11-01 00:02:07',\n",
       "       '2018-11-01 00:03:07', '2018-11-01 00:04:07', '2018-11-01 00:05:07',\n",
       "       '2018-11-01 00:06:07', '2018-11-01 00:07:07', '2018-11-01 00:08:07',\n",
       "       '2018-11-01 00:09:07',\n",
       "       ...\n",
       "       '2019-05-30 23:01:21', '2019-05-30 23:02:21', '2019-05-30 23:03:21',\n",
       "       '2019-05-30 23:04:21', '2019-05-30 23:05:21', '2019-05-30 23:06:21',\n",
       "       '2019-05-30 23:07:21', '2019-05-30 23:08:21', '2019-05-30 23:09:21',\n",
       "       '2019-05-30 23:10:21'],\n",
       "      dtype='object', name='created_at', length=179496)"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [],
   "source": [
    "df.index = pd.to_datetime(df.created_at)   # 将字符串变成时间类型的索引"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DatetimeIndex(['2018-11-01 00:00:07', '2018-11-01 00:01:07',\n",
       "               '2018-11-01 00:02:07', '2018-11-01 00:03:07',\n",
       "               '2018-11-01 00:04:07', '2018-11-01 00:05:07',\n",
       "               '2018-11-01 00:06:07', '2018-11-01 00:07:07',\n",
       "               '2018-11-01 00:08:07', '2018-11-01 00:09:07',\n",
       "               ...\n",
       "               '2019-05-30 23:01:21', '2019-05-30 23:02:21',\n",
       "               '2019-05-30 23:03:21', '2019-05-30 23:04:21',\n",
       "               '2019-05-30 23:05:21', '2019-05-30 23:06:21',\n",
       "               '2019-05-30 23:07:21', '2019-05-30 23:08:21',\n",
       "               '2019-05-30 23:09:21', '2019-05-30 23:10:21'],\n",
       "              dtype='datetime64[ns]', name='created_at', length=179496, freq=None)"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>id</th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>interval</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:00:48</th>\n",
       "      <td>11406128</td>\n",
       "      <td>6</td>\n",
       "      <td>2105.08</td>\n",
       "      <td>125.74</td>\n",
       "      <td>992.46</td>\n",
       "      <td>350.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:00:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:01:48</th>\n",
       "      <td>11406236</td>\n",
       "      <td>7</td>\n",
       "      <td>2579.11</td>\n",
       "      <td>76.55</td>\n",
       "      <td>987.47</td>\n",
       "      <td>368.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:01:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:02:48</th>\n",
       "      <td>11406347</td>\n",
       "      <td>7</td>\n",
       "      <td>1277.79</td>\n",
       "      <td>109.65</td>\n",
       "      <td>236.73</td>\n",
       "      <td>182.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:02:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:03:48</th>\n",
       "      <td>11406446</td>\n",
       "      <td>7</td>\n",
       "      <td>2137.20</td>\n",
       "      <td>131.55</td>\n",
       "      <td>920.52</td>\n",
       "      <td>305.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:03:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:04:48</th>\n",
       "      <td>11406488</td>\n",
       "      <td>13</td>\n",
       "      <td>2948.70</td>\n",
       "      <td>86.42</td>\n",
       "      <td>491.31</td>\n",
       "      <td>226.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 00:04:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:55:49</th>\n",
       "      <td>11475363</td>\n",
       "      <td>6</td>\n",
       "      <td>1083.97</td>\n",
       "      <td>70.85</td>\n",
       "      <td>262.22</td>\n",
       "      <td>180.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:55:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:56:49</th>\n",
       "      <td>11475483</td>\n",
       "      <td>4</td>\n",
       "      <td>840.00</td>\n",
       "      <td>117.31</td>\n",
       "      <td>382.63</td>\n",
       "      <td>210.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:56:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:57:49</th>\n",
       "      <td>11475550</td>\n",
       "      <td>2</td>\n",
       "      <td>295.51</td>\n",
       "      <td>101.71</td>\n",
       "      <td>193.80</td>\n",
       "      <td>147.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:57:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:58:49</th>\n",
       "      <td>11475597</td>\n",
       "      <td>2</td>\n",
       "      <td>431.99</td>\n",
       "      <td>84.43</td>\n",
       "      <td>347.56</td>\n",
       "      <td>215.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:58:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:59:49</th>\n",
       "      <td>11475664</td>\n",
       "      <td>3</td>\n",
       "      <td>428.84</td>\n",
       "      <td>103.58</td>\n",
       "      <td>206.57</td>\n",
       "      <td>142.0</td>\n",
       "      <td>60</td>\n",
       "      <td>2019-05-01 23:59:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>884 rows × 8 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                           id  count  res_time_sum  res_time_min  \\\n",
       "created_at                                                         \n",
       "2019-05-01 00:00:48  11406128      6       2105.08        125.74   \n",
       "2019-05-01 00:01:48  11406236      7       2579.11         76.55   \n",
       "2019-05-01 00:02:48  11406347      7       1277.79        109.65   \n",
       "2019-05-01 00:03:48  11406446      7       2137.20        131.55   \n",
       "2019-05-01 00:04:48  11406488     13       2948.70         86.42   \n",
       "...                       ...    ...           ...           ...   \n",
       "2019-05-01 23:55:49  11475363      6       1083.97         70.85   \n",
       "2019-05-01 23:56:49  11475483      4        840.00        117.31   \n",
       "2019-05-01 23:57:49  11475550      2        295.51        101.71   \n",
       "2019-05-01 23:58:49  11475597      2        431.99         84.43   \n",
       "2019-05-01 23:59:49  11475664      3        428.84        103.58   \n",
       "\n",
       "                     res_time_max  res_time_avg  interval           created_at  \n",
       "created_at                                                                      \n",
       "2019-05-01 00:00:48        992.46         350.0        60  2019-05-01 00:00:48  \n",
       "2019-05-01 00:01:48        987.47         368.0        60  2019-05-01 00:01:48  \n",
       "2019-05-01 00:02:48        236.73         182.0        60  2019-05-01 00:02:48  \n",
       "2019-05-01 00:03:48        920.52         305.0        60  2019-05-01 00:03:48  \n",
       "2019-05-01 00:04:48        491.31         226.0        60  2019-05-01 00:04:48  \n",
       "...                           ...           ...       ...                  ...  \n",
       "2019-05-01 23:55:49        262.22         180.0        60  2019-05-01 23:55:49  \n",
       "2019-05-01 23:56:49        382.63         210.0        60  2019-05-01 23:56:49  \n",
       "2019-05-01 23:57:49        193.80         147.0        60  2019-05-01 23:57:49  \n",
       "2019-05-01 23:58:49        347.56         215.0        60  2019-05-01 23:58:49  \n",
       "2019-05-01 23:59:49        206.57         142.0        60  2019-05-01 23:59:49  \n",
       "\n",
       "[884 rows x 8 columns]"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    " df['2019-5-1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "count    179496.0\n",
       "mean         60.0\n",
       "std           0.0\n",
       "min          60.0\n",
       "25%          60.0\n",
       "50%          60.0\n",
       "75%          60.0\n",
       "max          60.0\n",
       "Name: interval, dtype: float64"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.interval.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([60], dtype=int64)"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.interval.unique()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "2018-11-01 00:02:07      5        845.84        136.31        225.73   \n",
       "2018-11-01 00:03:07      9       1305.52         90.12        196.61   \n",
       "2018-11-01 00:04:07      3        568.89        138.45        232.02   \n",
       "\n",
       "                     res_time_avg           created_at  \n",
       "created_at                                              \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07  \n",
       "2018-11-01 00:02:07         169.0  2018-11-01 00:02:07  \n",
       "2018-11-01 00:03:07         145.0  2018-11-01 00:03:07  \n",
       "2018-11-01 00:04:07         189.0  2018-11-01 00:04:07  "
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = df.drop(['id','interval'],axis = 1 )\n",
    "df.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "DatetimeIndex: 179496 entries, 2018-11-01 00:00:07 to 2019-05-30 23:10:21\n",
      "Data columns (total 6 columns):\n",
      " #   Column        Non-Null Count   Dtype  \n",
      "---  ------        --------------   -----  \n",
      " 0   count         179496 non-null  int64  \n",
      " 1   res_time_sum  179496 non-null  float64\n",
      " 2   res_time_min  179496 non-null  float64\n",
      " 3   res_time_max  179496 non-null  float64\n",
      " 4   res_time_avg  179496 non-null  float64\n",
      " 5   created_at    179496 non-null  object \n",
      "dtypes: float64(4), int64(1), object(1)\n",
      "memory usage: 9.6+ MB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "      <td>179496.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>7.175909</td>\n",
       "      <td>1393.177832</td>\n",
       "      <td>108.419626</td>\n",
       "      <td>359.880374</td>\n",
       "      <td>187.812208</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>4.325160</td>\n",
       "      <td>1499.486073</td>\n",
       "      <td>79.640693</td>\n",
       "      <td>638.919827</td>\n",
       "      <td>224.464813</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>3.210000</td>\n",
       "      <td>36.550000</td>\n",
       "      <td>36.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>4.000000</td>\n",
       "      <td>607.707500</td>\n",
       "      <td>83.410000</td>\n",
       "      <td>198.280000</td>\n",
       "      <td>144.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>7.000000</td>\n",
       "      <td>1154.905000</td>\n",
       "      <td>97.120000</td>\n",
       "      <td>256.090000</td>\n",
       "      <td>167.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>10.000000</td>\n",
       "      <td>1834.117500</td>\n",
       "      <td>116.990000</td>\n",
       "      <td>374.410000</td>\n",
       "      <td>202.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>31.000000</td>\n",
       "      <td>142650.550000</td>\n",
       "      <td>18896.640000</td>\n",
       "      <td>142468.270000</td>\n",
       "      <td>71325.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               count   res_time_sum   res_time_min   res_time_max  \\\n",
       "count  179496.000000  179496.000000  179496.000000  179496.000000   \n",
       "mean        7.175909    1393.177832     108.419626     359.880374   \n",
       "std         4.325160    1499.486073      79.640693     638.919827   \n",
       "min         1.000000      36.550000       3.210000      36.550000   \n",
       "25%         4.000000     607.707500      83.410000     198.280000   \n",
       "50%         7.000000    1154.905000      97.120000     256.090000   \n",
       "75%        10.000000    1834.117500     116.990000     374.410000   \n",
       "max        31.000000  142650.550000   18896.640000  142468.270000   \n",
       "\n",
       "        res_time_avg  \n",
       "count  179496.000000  \n",
       "mean      187.812208  \n",
       "std       224.464813  \n",
       "min        36.000000  \n",
       "25%       144.000000  \n",
       "50%       167.000000  \n",
       "75%       202.000000  \n",
       "max     71325.000000  "
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['count'].hist() # 初步分析count,直方图   接口调用的分布情况\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 表示接口调用分布情况，大部分都在10次以内，反映出每分钟调用的分布情况\n",
    "df['count'].hist(bins = 30)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\converter.py:256: MatplotlibDeprecationWarning: \n",
      "The epoch2num function was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n",
      "  base = dates.epoch2num(dt.asi8 / 1.0e9)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 切出一天的数据，绘制一天时段的接口调用情况\n",
    "df['2019-5-1']['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 凌晨时间无人访问，下午2-3点第一个访问高峰，晚上8-9点第二个访问高峰"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 用count重采样，用一个小时进行采样，没那么多数据点了，图像比较平滑\n",
    "df2 = df['2019-5-1']"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:00:00</th>\n",
       "      <td>4.428571</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 01:00:00</th>\n",
       "      <td>2.272727</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 02:00:00</th>\n",
       "      <td>1.833333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 03:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 04:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 05:00:00</th>\n",
       "      <td>2.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 06:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 07:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 08:00:00</th>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 09:00:00</th>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 10:00:00</th>\n",
       "      <td>1.400000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 11:00:00</th>\n",
       "      <td>1.604651</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 12:00:00</th>\n",
       "      <td>3.298246</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 13:00:00</th>\n",
       "      <td>6.866667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 14:00:00</th>\n",
       "      <td>10.483333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 15:00:00</th>\n",
       "      <td>12.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 16:00:00</th>\n",
       "      <td>9.916667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 17:00:00</th>\n",
       "      <td>7.666667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 18:00:00</th>\n",
       "      <td>6.783333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:00:00</th>\n",
       "      <td>9.850000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 20:00:00</th>\n",
       "      <td>11.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 21:00:00</th>\n",
       "      <td>10.416667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 22:00:00</th>\n",
       "      <td>8.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 23:00:00</th>\n",
       "      <td>5.083333</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                         count\n",
       "created_at                    \n",
       "2019-05-01 00:00:00   4.428571\n",
       "2019-05-01 01:00:00   2.272727\n",
       "2019-05-01 02:00:00   1.833333\n",
       "2019-05-01 03:00:00        NaN\n",
       "2019-05-01 04:00:00        NaN\n",
       "2019-05-01 05:00:00   2.000000\n",
       "2019-05-01 06:00:00        NaN\n",
       "2019-05-01 07:00:00        NaN\n",
       "2019-05-01 08:00:00        NaN\n",
       "2019-05-01 09:00:00   1.000000\n",
       "2019-05-01 10:00:00   1.400000\n",
       "2019-05-01 11:00:00   1.604651\n",
       "2019-05-01 12:00:00   3.298246\n",
       "2019-05-01 13:00:00   6.866667\n",
       "2019-05-01 14:00:00  10.483333\n",
       "2019-05-01 15:00:00  12.333333\n",
       "2019-05-01 16:00:00   9.916667\n",
       "2019-05-01 17:00:00   7.666667\n",
       "2019-05-01 18:00:00   6.783333\n",
       "2019-05-01 19:00:00   9.850000\n",
       "2019-05-01 20:00:00  11.000000\n",
       "2019-05-01 21:00:00  10.416667\n",
       "2019-05-01 22:00:00   8.000000\n",
       "2019-05-01 23:00:00   5.083333"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2 = df2[['count']].resample('1H').mean()\n",
    "df2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df2['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x216 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "##  折线图和直方图，  可以看到业务的高峰时段在什么地方，  分不清具体时间，绘制柱状图\n",
    "plt.figure(figsize = (10,3)) # 单位是英寸\n",
    "df2['count'].plot(kind = 'bar')\n",
    "plt.xticks(rotation = 60)  # 文字旋转角度\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 分析有没有异常时段，访问接口过于频繁，可能就是黑客潮水攻击\n",
    "df['2019-5-1'][['count']].boxplot(showmeans = True, meanline = True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 20:47:09</th>\n",
       "      <td>21</td>\n",
       "      <td>3117.20</td>\n",
       "      <td>84.90</td>\n",
       "      <td>260.82</td>\n",
       "      <td>148.0</td>\n",
       "      <td>2018-11-01 20:47:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 21:03:09</th>\n",
       "      <td>21</td>\n",
       "      <td>3706.20</td>\n",
       "      <td>78.12</td>\n",
       "      <td>321.47</td>\n",
       "      <td>176.0</td>\n",
       "      <td>2018-11-01 21:03:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 21:13:09</th>\n",
       "      <td>24</td>\n",
       "      <td>4602.03</td>\n",
       "      <td>76.31</td>\n",
       "      <td>391.12</td>\n",
       "      <td>191.0</td>\n",
       "      <td>2018-11-01 21:13:09</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-02 21:34:11</th>\n",
       "      <td>30</td>\n",
       "      <td>4610.15</td>\n",
       "      <td>72.49</td>\n",
       "      <td>463.41</td>\n",
       "      <td>153.0</td>\n",
       "      <td>2018-11-02 21:34:11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-03 14:20:13</th>\n",
       "      <td>21</td>\n",
       "      <td>3113.93</td>\n",
       "      <td>74.29</td>\n",
       "      <td>266.20</td>\n",
       "      <td>148.0</td>\n",
       "      <td>2018-11-03 14:20:13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:33:21</th>\n",
       "      <td>27</td>\n",
       "      <td>6456.64</td>\n",
       "      <td>99.65</td>\n",
       "      <td>978.91</td>\n",
       "      <td>239.0</td>\n",
       "      <td>2019-05-30 21:33:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:43:21</th>\n",
       "      <td>21</td>\n",
       "      <td>6371.84</td>\n",
       "      <td>65.98</td>\n",
       "      <td>1175.37</td>\n",
       "      <td>303.0</td>\n",
       "      <td>2019-05-30 21:43:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:47:21</th>\n",
       "      <td>21</td>\n",
       "      <td>3992.83</td>\n",
       "      <td>87.83</td>\n",
       "      <td>440.88</td>\n",
       "      <td>190.0</td>\n",
       "      <td>2019-05-30 21:47:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 21:53:21</th>\n",
       "      <td>24</td>\n",
       "      <td>8467.02</td>\n",
       "      <td>120.22</td>\n",
       "      <td>1511.17</td>\n",
       "      <td>352.0</td>\n",
       "      <td>2019-05-30 21:53:21</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-30 22:17:21</th>\n",
       "      <td>21</td>\n",
       "      <td>4926.35</td>\n",
       "      <td>85.01</td>\n",
       "      <td>826.90</td>\n",
       "      <td>234.0</td>\n",
       "      <td>2019-05-30 22:17:21</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>746 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 20:47:09     21       3117.20         84.90        260.82   \n",
       "2018-11-01 21:03:09     21       3706.20         78.12        321.47   \n",
       "2018-11-01 21:13:09     24       4602.03         76.31        391.12   \n",
       "2018-11-02 21:34:11     30       4610.15         72.49        463.41   \n",
       "2018-11-03 14:20:13     21       3113.93         74.29        266.20   \n",
       "...                    ...           ...           ...           ...   \n",
       "2019-05-30 21:33:21     27       6456.64         99.65        978.91   \n",
       "2019-05-30 21:43:21     21       6371.84         65.98       1175.37   \n",
       "2019-05-30 21:47:21     21       3992.83         87.83        440.88   \n",
       "2019-05-30 21:53:21     24       8467.02        120.22       1511.17   \n",
       "2019-05-30 22:17:21     21       4926.35         85.01        826.90   \n",
       "\n",
       "                     res_time_avg           created_at  \n",
       "created_at                                              \n",
       "2018-11-01 20:47:09         148.0  2018-11-01 20:47:09  \n",
       "2018-11-01 21:03:09         176.0  2018-11-01 21:03:09  \n",
       "2018-11-01 21:13:09         191.0  2018-11-01 21:13:09  \n",
       "2018-11-02 21:34:11         153.0  2018-11-02 21:34:11  \n",
       "2018-11-03 14:20:13         148.0  2018-11-03 14:20:13  \n",
       "...                           ...                  ...  \n",
       "2019-05-30 21:33:21         239.0  2019-05-30 21:33:21  \n",
       "2019-05-30 21:43:21         303.0  2019-05-30 21:43:21  \n",
       "2019-05-30 21:47:21         190.0  2019-05-30 21:47:21  \n",
       "2019-05-30 21:53:21         352.0  2019-05-30 21:53:21  \n",
       "2019-05-30 22:17:21         234.0  2019-05-30 22:17:21  \n",
       "\n",
       "[746 rows x 6 columns]"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['count'] > 20]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\converter.py:256: MatplotlibDeprecationWarning: \n",
      "The epoch2num function was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n",
      "  base = dates.epoch2num(dt.asi8 / 1.0e9)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:xlabel='created_at'>"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 某一天的响应时间，平均响应时间\n",
    "df['2019-5-1']['res_time_avg'].plot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<AxesSubplot:>"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAD5CAYAAADLL+UrAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAAZF0lEQVR4nO3df5DU9Z3n8ecLBib8kGRFMwWDG9gTcwPsaY45yzK4xYQkCJfyx+1lw5y3mjgKsZTbbFlGvLmrzV1qbhNNLlfJLkbMWGqt1+rpepIzBA1MnzsXXTMYo0DHDQpuBig5xVNB5ef7/ujvkGZooL/zq6f9vh5VXd397u+P91jtm09/vp/v56OIwMzMsmFMtRMwM7OR46JvZpYhLvpmZhniom9mliEu+mZmGVJX7QRO56yzzoqZM2dWOw2zE+zfv59JkyZVOw2zsjZt2vRGRJzdPz7qi/7MmTPp6empdhpmJ8jn8yxcuLDaaZiVJem1cnF375iZZYiLvplZhrjom5lliIu+mVmGuOibmWWIi75ZSrlcjnnz5rFo0SLmzZtHLperdkpmFRv1QzbNRpNcLkd7ezudnZ0cOXKEsWPH0tbWBkBra2uVszM7Pbf0zVLo6Oigs7OTlpYW6urqaGlpobOzk46OjmqnZlYRF32zFAqFAgsWLDgutmDBAgqFQpUyMkvHRd8shaamJrq7u4+LdXd309TUVKWMzNJx0TdLob29nba2Nrq6ujh8+DBdXV20tbXR3t5e7dTMKuILuWYp9F2sXblyJYVCgaamJjo6OnwR12qGTrdGrqR7gC8AeyJiXhJ7CPhkssnHgP8XERdImgkUgJeTz56NiK8m+8wH7gUmAD8B/iwqWKC3ubk5POGajUaecM1GM0mbIqK5f7ySlv69wF8B9/cFIuJLJQf+LvB2yfavRMQFZY5zJ7AceJZi0b8UWFfB+c3MbIictk8/Ip4G9pb7TJKAPwFOeXeKpGnAlIh4Jmnd3w9ckTpbMzMblMFeyL0EeD0iflMSmyXpl5L+t6RLklgj0FuyTW8SMzOzETTYC7mtHN/K3w38fkS8mfTh/09JcwGV2fek/fmSllPsCqKhoYF8Pj/INM2G3r59+/zdtJoz4KIvqQ74V8D8vlhEHAAOJK83SXoFOI9iy35Gye4zgF0nO3ZErAHWQPFCri+W2WjkC7lWiwbTvfNZ4NcRcazbRtLZksYmr/8AmA28GhG7gXclXZRcB7gaeHwQ5zYzswE4bdGXlAOeAT4pqVdSW/LRMk68gPtHwIuSfgU8Anw1IvouAt8A/AjYBryCR+5YjfIsm1bLTtu9ExFl7zqJiC+XiT0KPHqS7XuAeSnzMxtVPMum1TpPw2CWgmfZtFrnom+WgmfZtFrnom+WgmfZtFrnom+WgmfZtFrnWTbNUvAsm1brTjvLZrV5lk0brXxzlo1mJ5tl0907ZmYZ4qJvZpYhLvpmZhniom9mliEu+mZmGeKib2aWIS76ZmYZ4qJvZpYhLvpmZhniom9mliEu+mZmGeKib2aWIS76ZmYZ4qJvZpYhpy36ku6RtEfS5pLYNyTtlPRC8lha8tltkrZJelnS4pL4fEkvJZ99X5KG/s8xM7NTqaSlfy9waZn49yLiguTxEwBJc4BlwNxkn9WSxibb3wksB2Ynj3LHNDOzYXTaoh8RTwN7Kzze5cCDEXEgIrYD24ALJU0DpkTEM1FcteV+4IoB5mxmZgM0mOUSb5J0NdAD3BwRbwGNwLMl2/QmsUPJ6/7xsiQtp/irgIaGBvL5/CDSNBse+/bt83fTas5Ai/6dwDeBSJ6/C1wLlOunj1PEy4qINcAaKC6X6CXpbDTycolWiwY0eiciXo+IIxFxFLgbuDD5qBc4p2TTGcCuJD6jTNzMzEbQgIp+0kff50qgb2TPWmCZpHpJsyhesH0uInYD70q6KBm1czXw+CDyNjOzATht946kHLAQOEtSL/AXwEJJF1DsotkBrACIiC2SHga2AoeBGyPiSHKoGyiOBJoArEseZmY2gk5b9COitUy48xTbdwAdZeI9wLxU2ZmZ2ZDyHblmZhniom9mliEu+mZmGeKib2aWIS76ZmYZ4qJvZpYhLvpmZhniom9mliEu+mZmGeKib2aWIS76ZmYZ4qJvZpYhLvpmZhniom9mliEu+mZmGeKib2aWIS76ZmYZ4qJvZpYhLvpmZhly2qIv6R5JeyRtLondIenXkl6U9JikjyXxmZLel/RC8vhhyT7zJb0kaZuk70vSsPxFZmZ2UpW09O8FLu0XewqYFxH/DPgH4LaSz16JiAuSx1dL4ncCy4HZyaP/Mc3MbJidtuhHxNPA3n6xJyPicPL2WWDGqY4haRowJSKeiYgA7geuGFDGZlWWy+WYN28eixYtYt68eeRyuWqnZFaxuiE4xrXAQyXvZ0n6JfAO8B8i4u+ARqC3ZJveJFaWpOUUfxXQ0NBAPp8fgjTNBm/Dhg10dnZyyy23MGvWLLZv387NN9/M1q1bWbRoUbXTMzu9iDjtA5gJbC4TbwceA5S8rwemJq/nA78FpgD/AvhZyX6XAD+u5Nzz588Ps9Fi7ty5sXHjxoiI6OrqioiIjRs3xty5c6uYldmJgJ4oU1MH3NKXdA3wBWBRcgIi4gBwIHm9SdIrwHkUW/alXUAzgF0DPbdZtRQKBRYsWHBcbMGCBRQKhSplZJbOgIZsSroUuBW4LCLeK4mfLWls8voPKF6wfTUidgPvSrooGbVzNfD4oLM3G2FNTU10d3cfF+vu7qapqalKGZmlU8mQzRzwDPBJSb2S2oC/As4Anuo3NPOPgBcl/Qp4BPhqRPRdBL4B+BGwDXgFWDe0f4rZ8Gtvb6etrY2uri4OHz5MV1cXbW1ttLe3Vzs1s4qctnsnIlrLhDtPsu2jwKMn+awHmJcqO7NRprW1+L/DypUrKRQKNDU10dHRcSxuNtr1XYAdtZqbm6Onp6faaZidIJ/Ps3DhwmqnYVaWpE0R0dw/7mkYzFLyOH2rZUMxTt8sM3K5HO3t7XR2dnLkyBHGjh1LW1sbgLt4rCa4pW+WQkdHB52dnbS0tFBXV0dLSwudnZ10dHRUOzWzirjom6XgcfpW61z0zVLwOH2rdS76Zil4nL7VOl/INUvB4/St1rmlb2aWIW7pm6XgIZtW69zSN0vBQzat1rnom6VQKBTo7e097o7c3t5eD9m0muHuHbMUpk+fzq233soDDzxwrHvnqquuYvr06dVOzawibumbpdR/ksLRPmmhWSm39M1S2LVrF/fee+9xQzZvv/12vvzlL1c7NbOKuKVvlkJTUxMzZsxg8+bNbNiwgc2bNzNjxgzfkWs1w0XfLAXfkWu1zt07Zin4jlyrdV45y2yAvHKWjWYDXjlL0j2S9kjaXBI7U9JTkn6TPP9eyWe3Sdom6WVJi0vi8yW9lHz2fUkaij/MzMwqV0mf/r3Apf1iq4ANETEb2JC8R9IcYBkwN9lntaSxyT53AsuB2cmj/zHNzGyYnbboR8TTwN5+4cuB+5LX9wFXlMQfjIgDEbEd2AZcKGkaMCUinolif9L9JfuYmdkIGejonYaI2A2QPH88iTcCvy3ZrjeJNSav+8fNzGwEDfXonXL99HGKePmDSMspdgXR0NBAPp8fkuTMhtK+ffv83bSaM9Ci/7qkaRGxO+m62ZPEe4FzSrabAexK4jPKxMuKiDXAGiiO3vEICRuNPHrHatFAu3fWAtckr68BHi+JL5NUL2kWxQu2zyVdQO9KuigZtXN1yT5mZjZCTtvSl5QDFgJnSeoF/gL4FvCwpDbgH4EvAkTEFkkPA1uBw8CNEXEkOdQNFEcCTQDWJQ8zMxtBpy36EXGyWw0XnWT7DuCEFSUiogeYlyo7MzMbUp57x8wsQ1z0zcwyxEXfzCxDXPTNzDLERd8spVwud9zC6LlcrtopmVXM8+mbpZDL5Whvb6ezs/PYwuhtbW0AnlPfaoJb+mYpdHR00NnZSUtLC3V1dbS0tNDZ2UlHxwmjlM1GJRd9sxQKhQILFiw4LrZgwQIKhUKVMjJLx0XfLIWmpia6u7uPi3V3d3thdKsZLvpmKXhhdKt1vpBrlkJrays///nPWbJkCQcOHKC+vp7rr7/eF3GtZrjom6WQy+V44oknWLdu3XGjdy6++GIXfqsJ7t4xS8Gjd6zWueibpeDRO1brXPTNUvDoHat1LvpmKXj0jtU6X8g1S6HvYu3KlSspFAo0NTXR0dHhi7hWMxQR1c7hlJqbm6Onp6faaZidwAuj22gmaVNENPePu3vHzCxDXPTNzDJkwEVf0iclvVDyeEfS1yR9Q9LOkvjSkn1uk7RN0suSFg/Nn2A2sjyfvtWyAV/IjYiXgQsAJI0FdgKPAV8BvhcR3yndXtIcYBkwF5gO/EzSeRFxZKA5mI00z6dvtW6ouncWAa9ExGun2OZy4MGIOBAR24FtwIVDdH6zEdHR0cH555/PkiVL+NznPseSJUs4//zzfUeu1YyhGrK5DCj9jXuTpKuBHuDmiHgLaASeLdmmN4mdQNJyYDlAQ0MD+Xx+iNI0G5wtW7ZQKBRYsWIFn/nMZ9i4cSN33XUXR48e9ffUasKgi76k8cBlwG1J6E7gm0Akz98FrgVUZvey40UjYg2wBopDNj0szkYLSaxYsYLVq1eTz+dZvXo1AD/84Q89fNNqwlC09JcAz0fE6wB9zwCS7gb+V/K2FzinZL8ZwK4hOL/ZiIkIHnnkEdatW8drr73GJz7xCfbv389ov9/FrM9Q9Om3UtK1I2layWdXApuT12uBZZLqJc0CZgPPDcH5zUZMXV0d77zzDjt37iQi2LlzJ++88w51db653WrDoIq+pInA54C/LQnfLuklSS8CLcCfA0TEFuBhYCvwU+BGj9yxWlNfX8+BAwe47rrr+PGPf8x11113bDEVs1rgaRjMUpDEZZddxvr1648V+8WLF7N27Vp38dio4mkYzIbInDlzOPfccxkzZgznnnsuc+bMqXZKZhVzR6RZCmeeeSZ33HEHt99+O3PmzGHr1q18/etf58wzz6x2amYVcdE3S2HixIm8//77rFq1ikOHDjFu3DjGjx/PxIkTq52aWUXcvWOWws6dO5k8eTKNjY1IorGxkcmTJ7Nz585qp2ZWERd9sxTGjx/PqlWr2L59Oxs3bmT79u2sWrWK8ePHVzs1s4p49I5ZCmPGjGHq1KlMnjz52M1Z+/bt48033+To0aPVTs/sGI/eMRsCjY2NHDp0CCgO3wQ4dOgQjY1lp5EyG3V8IdcspYkTJ3LPPfccm1r5qquuqnZKZhVz0TdLYdeuXaxYsYIlS5Ycuznr2muv5a677qp2amYVcfeOWQrTp08nl8sxbdo0xowZw7Rp08jlckyfPr3aqZlVxC19sxTee+893n77berr64kI3n//fd5++23GjHH7yWqDv6lmKezdu5cpU6YwYcIEACZMmMCUKVPYu3dvlTMzq4yLvllKS5cuZdKkSUhi0qRJLF26tNopmVXM3TtmKT300EPccccdx+beueWWW6qdklnFXPTNUqirq2Ps2LHHzb0zbtw4jhzx0hBWG9y9Y5bC4cOHOXToEFOnTj12d+6hQ4c4fPhwtVMzq4iLvlkK9fX1tLa2MnXqVACmTp1Ka2urV86ymuGib5bCwYMHWb9+Pfv37wdg//79rF+/noMHD1Y5M7PKuE/fLIXGxkb27NnDG2+8AcCOHTsYP368596xmjHYhdF3JIugvyCpJ4mdKekpSb9Jnn+vZPvbJG2T9LKkxYNN3mykvfXWWxw8ePDYzVhjxozh4MGDvPXWW1XOzKwyQ9G90xIRF5RM4bkK2BARs4ENyXskzQGWAXOBS4HVksYOwfnNRkxft07fNMp9z31xs9FuOPr0LwfuS17fB1xREn8wIg5ExHZgG3DhMJzfbNiVtvTNaslg+/QDeFJSAHdFxBqgISJ2A0TEbkkfT7ZtBJ4t2bc3iZ1A0nJgOUBDQwP5fH6QaZoNrf4tfcDfU6sJgy36n46IXUlhf0rSr0+xrcrEyi7blfzjsQaKK2ctXLhwkGmaDa2PfOQjfPDBB8eeAfw9tVowqN+mEbEred4DPEaxu+Z1SdMAkuc9yea9wDklu88Adg3m/GbV0lfo+57NasWAi76kSZLO6HsNfB7YDKwFrkk2uwZ4PHm9FlgmqV7SLGA28NxAz29mZukNpnunAXgsWSe0DvjvEfFTSb8AHpbUBvwj8EWAiNgi6WFgK3AYuDEiPGGJmdkIGnDRj4hXgfPLxN8EFp1knw6gY6DnNDOzwfF4MzOzDHHRNzPLEBd9M7MMcdE3M8sQF30zswxx0TcbAM+9Y7XK8+mbJZJ7TipSbu6dSvePKDv7iNmIcNE3S1RSjE9V2F3MrRb4t6lZCjfddFOquNlo45a+WQo/+MEPALj77rs5cOAA9fX1XH/99cfiZqOdRvtP0ubm5ujp6al2GmYnmLnqCXZ8619WOw2zsiRtKlnR8Bh375iZZYiLvplZhrjom5lliIu+mVmGuOibmWWIi76ZWYa46JuZZYiLvplZhgy46Es6R1KXpIKkLZL+LIl/Q9JOSS8kj6Ul+9wmaZuklyUtHoo/wMzMKjeYaRgOAzdHxPOSzgA2SXoq+ex7EfGd0o0lzQGWAXOB6cDPJJ0XEUcGkYOZmaUw4JZ+ROyOiOeT1+8CBaDxFLtcDjwYEQciYjuwDbhwoOc3M7P0hmTCNUkzgU8Bfw98GrhJ0tVAD8VfA29R/Afh2ZLdejnJPxKSlgPLARoaGsjn80ORpmXIjRv2s//Q8J9n5qonhvX4k8bBXy+aNKznsGwZdNGXNBl4FPhaRLwj6U7gm0Akz98FrgXKTURedra3iFgDrIHihGsLFy4cbJqWMft/OvyToeXzeYb7uzlz1RPDfg7LlkGN3pE0jmLBfyAi/hYgIl6PiCMRcRS4m9914fQC55TsPgPYNZjzm5lZOoMZvSOgEyhExH8tiU8r2exKYHPyei2wTFK9pFnAbOC5gZ7fzMzSG0z3zqeBPwVekvRCEvv3QKukCyh23ewAVgBExBZJDwNbKY78udEjd8zMRtaAi35EdFO+n/4np9inA+gY6DnNzGxwfEeumVmGeI1c+1A6o2kVf3jfquE/0X3De/gzmgC8JKMNHRd9+1B6t/CtD82QTbOh5O4dM7MMcdE3M8sQd+/Yh9aIdI38dHjP8dEJ44b1+JY9Lvr2oTTc/flQ/EdlJM5jNpTcvWNmliEu+mZmGeKib2aWIS76ZmYZ4qJvZpYhLvpmZhniom9mliEu+mZmGeKbs8wSxcXgUu7z7fTniSi7NLTZiHBL3ywREakeXV1dqfdxwbdqc9E3M8sQF30zswwZ8aIv6VJJL0vaJmkEljYyM7M+I1r0JY0F/hpYAswBWiXNGckczMyybKRb+hcC2yLi1Yg4CDwIXD7COZiZZdZIF/1G4Lcl73uTmJmZjYCRHqdfbiD0CWPYJC0HlgM0NDSQz+eHOS2z9Pbt2+fvptWckS76vcA5Je9nALv6bxQRa4A1AM3NzbFw4cIRSc4sjXw+j7+bVms0kjeLSKoD/gFYBOwEfgH8m4jYcop9/i/w2shkaJbKWcAb1U7C7CQ+ERFn9w+OaEs/Ig5LuglYD4wF7jlVwU/2OSFps9FAUk9ENFc7D7M0RrSlb/Zh4qJvtch35JqZZYiLvtnAral2AmZpuXvHzCxD3NI3M8sQF30zswxx0TczyxAXfbOEpK9Jmljy/ieSPlbFlMyGnC/k2oeCigvcKiKODuIYO4DmiPBdtvah5Za+1SxJMyUVJK0Gngf+o6RfSHpR0n9Ktpkk6QlJv5K0WdKXTnKsfwdMB7okdSWxHZLOSs7za0k/So7xgKTPSvo/kn4j6cKSc92T5PBLSSedNjw55t9Jej55XJzEH5K0tGS7eyX9saSJkh5O/raHJP29JN8YZqm5pW81S9JM4FXgYmAK8K+BFRRnc10L3A6cDVwaEdcn+3w0It4+yfF2UNLS73sPTAa2AZ8CtlCcM+pXQBtwGfCViLhC0n8BtkbE3yTdQs8Bn4qI/WXONRE4GhEfSJoN5CKiWdKVwBURcY2k8cArwHnAjcDsiFghaR7wAnBRRPQM9L+fZZNb+lbrXouIZ4HPJ49fUmz1/1NgNvAS8FlJ35Z0yckKfgW2R8RLSffRFmBDFFtMLwEzk20+D6yS9AKQBz4C/P5JjjcOuFvSS8D/oLiSHMA64DOS6imuMPd0RLwPLKC46BARsRl4cYB/h2XcSE+tbDbU+lrRAv4yIu7qv4Gk+cBS4C8lPRkR/3kA5zlQ8vpoyfuj/O7/IwF/HBEvV3C8PwdeB86n2Pj6ACBp+eeBxcCXgFzJsc0GzS19+7BYD1wraTKApEZJH5c0HXgvIv4G+A7wz09xjHeBMwaZw8rkojKSPnWKbT8K7E5+OfwpxVln+zwIfAW4JDkmQDfwJ8lx5wB/OIg8LcPc0rcPhYh4UlIT8ExSc/cB/xY4F7hD0lHgEHDDKQ6zBlgnaXdEtAwgjW8C/w14MSn8O4AvnGTb1cCjkr4IdPG7XywATwL3A2uTtaT7tr9P0osUu7BeBAbaVWUZ5gu5ZjVA0lhgXNL980+ADcB5Jf8omFXELX2z2jCR4nDScRT7929wwbeBcEvfMkfSY8CsfuFbI2J9ue0Hea7FwLf7hbdHxJVDfS6zSrjom5lliEfvmJlliIu+mVmGuOibmWWIi76ZWYb8fyDZIk3mJBwDAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-5-1'][['res_time_avg']].boxplot()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\ipykernel_launcher.py:2: UserWarning: Boolean Series key will be reindexed to match DataFrame index.\n",
      "  \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2019-05-01 00:34:48</th>\n",
       "      <td>1</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.47</td>\n",
       "      <td>1694.0</td>\n",
       "      <td>2019-05-01 00:34:48</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 14:00:49</th>\n",
       "      <td>17</td>\n",
       "      <td>19770.18</td>\n",
       "      <td>207.54</td>\n",
       "      <td>2974.52</td>\n",
       "      <td>1162.0</td>\n",
       "      <td>2019-05-01 14:00:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 18:36:49</th>\n",
       "      <td>8</td>\n",
       "      <td>8799.92</td>\n",
       "      <td>96.59</td>\n",
       "      <td>3233.26</td>\n",
       "      <td>1099.0</td>\n",
       "      <td>2019-05-01 18:36:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:09:49</th>\n",
       "      <td>6</td>\n",
       "      <td>7399.94</td>\n",
       "      <td>307.39</td>\n",
       "      <td>3153.02</td>\n",
       "      <td>1233.0</td>\n",
       "      <td>2019-05-01 19:09:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 19:10:49</th>\n",
       "      <td>13</td>\n",
       "      <td>23595.60</td>\n",
       "      <td>206.20</td>\n",
       "      <td>4664.84</td>\n",
       "      <td>1815.0</td>\n",
       "      <td>2019-05-01 19:10:49</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2019-05-01 20:38:49</th>\n",
       "      <td>15</td>\n",
       "      <td>16169.25</td>\n",
       "      <td>142.47</td>\n",
       "      <td>3624.26</td>\n",
       "      <td>1077.0</td>\n",
       "      <td>2019-05-01 20:38:49</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2019-05-01 00:34:48      1       1694.47       1694.47       1694.47   \n",
       "2019-05-01 14:00:49     17      19770.18        207.54       2974.52   \n",
       "2019-05-01 18:36:49      8       8799.92         96.59       3233.26   \n",
       "2019-05-01 19:09:49      6       7399.94        307.39       3153.02   \n",
       "2019-05-01 19:10:49     13      23595.60        206.20       4664.84   \n",
       "2019-05-01 20:38:49     15      16169.25        142.47       3624.26   \n",
       "\n",
       "                     res_time_avg           created_at  \n",
       "created_at                                              \n",
       "2019-05-01 00:34:48        1694.0  2019-05-01 00:34:48  \n",
       "2019-05-01 14:00:49        1162.0  2019-05-01 14:00:49  \n",
       "2019-05-01 18:36:49        1099.0  2019-05-01 18:36:49  \n",
       "2019-05-01 19:09:49        1233.0  2019-05-01 19:09:49  \n",
       "2019-05-01 19:10:49        1815.0  2019-05-01 19:10:49  \n",
       "2019-05-01 20:38:49        1077.0  2019-05-01 20:38:49  "
      ]
     },
     "execution_count": 54,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df2 = df['2019-5-1']\n",
    "df2[df['res_time_avg'] > 1000]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\converter.py:256: MatplotlibDeprecationWarning: \n",
      "The epoch2num function was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n",
      "  base = dates.epoch2num(dt.asi8 / 1.0e9)\n",
      "c:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\converter.py:256: MatplotlibDeprecationWarning: \n",
      "The epoch2num function was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n",
      "  base = dates.epoch2num(dt.asi8 / 1.0e9)\n",
      "c:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\converter.py:256: MatplotlibDeprecationWarning: \n",
      "The epoch2num function was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n",
      "  base = dates.epoch2num(dt.asi8 / 1.0e9)\n",
      "c:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\converter.py:256: MatplotlibDeprecationWarning: \n",
      "The epoch2num function was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n",
      "  base = dates.epoch2num(dt.asi8 / 1.0e9)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYQAAAEHCAYAAACumTGlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAABFFElEQVR4nO2deXxU1fmHn3eWZLKxhh0hQRFwQa2Iuz+pVlxxayt2UVurtmqxrVpBq6IVlxaXulFxFxXFHVncUaQuCAJh37cQlhBIIPss5/fHvZNMkplszGQmyft8PsnMnHvuvd+59855z3nPOe8RYwyKoiiK4oi3AEVRFCUxUIOgKIqiAGoQFEVRFBs1CIqiKAqgBkFRFEWxUYOgKIqiAOCKt4DmkpmZabKysuItQ1EUpVWxcOHC3caYbuG2tVqDkJWVxYIFC+ItQ1EUpVUhIpsjbVOXkaIoigKoQVAURVFs1CAoiqIoQCvuQwiH1+slNzeX8vLyeEtRwuDxeOjbty9utzveUhRFCUObMgi5ublkZGSQlZWFiMRbjhKCMYaCggJyc3PJzs6OtxxFUcLQplxG5eXldO3aVY1BAiIidO3aVVtvipLAtCmDAKgxSGD03ijRZEtBKVljZ7I8ryjeUtoMbc4gKIrSPvhkxQ4A3lm4Lc5K2g5qEBKcxx57jNLS0qrP5557LoWFhfETpChKm0UNQgwxxhAIBA7oGLUNwqxZs+jUqdMBKlMURalLmxplFMo9Hy5nRd6+qB7zsN4duPuCw+vNs2nTJs455xxGjBjBt99+y0UXXcSMGTOoqKjg4osv5p577qGkpIRf/vKX5Obm4vf7ufPOO7nsssvqHOvxxx8nLy+PESNGkJmZyZw5c6pCdhQXF3P22Wdzyimn8N1333HUUUfxu9/9jrvvvptdu3bx2muvMXz4cEpKSvjzn//M0qVL8fl8jB8/ngsvvDCs9uXLl/O73/2OyspKAoEA77zzDm63m/PPP59ly5YBMHHiRIqLixk/fjynn346xxxzDAsXLiQ/P59XXnmFBx54gKVLl3LZZZdx3333HfhFVxSlxWizBiGerF69mhdffJGLLrqIt99+m/nz52OMYdSoUcydO5f8/Hx69+7NzJkzASgqCt8pNmbMGB555BHmzJlDZmZmne3r1q3jrbfeYvLkyRx33HG8/vrrzJs3j+nTp3P//ffz/vvvM2HCBH7605/ywgsvUFhYyPDhwznzzDNJS0urc7z//ve/3HTTTfz617+msrISv9/Pzp076/2uSUlJzJ07l//85z9ceOGFLFy4kC5dunDwwQfz17/+la5duzbjCiqKEg/arEFoqCYfS/r3788JJ5zALbfcwieffMIxxxwDQHFxMWvXruXUU0/llltu4bbbbuP888/n1FNPbdZ5srOzOfLIIwE4/PDDOeOMMxARjjzySDZt2gTAJ598wvTp05k4cSJgDc3dsmULQ4YMqXO8E088kQkTJpCbm8sll1zCwIEDG9QwatQoAI488kgOP/xwevXqBcCAAQPYunWrGgRFaUW0WYMQT4K1b2MM48aN47rrrquTZ+HChcyaNYtx48Zx1llncddddzX5PMnJyVXvHQ5H1WeHw4HP56vS8M477zBo0KAGj/erX/2K448/npkzZzJy5Eiee+45Dj300Br9ILXnEYSes7aeoAZFUVoH2qkcQ0aOHMkLL7xAcXExANu2bWPXrl3k5eWRmprKb37zG2655RZ+/PHHiMfIyMhg//79B6ThiSeewBgDwKJFiyLm3bBhAwMGDGDMmDGMGjWKnJwcevTowa5duygoKKCiooIZM2Y0W4uixAKd3hI9tIUQQ8466yxWrlzJiSeeCEB6ejqvvvoq69at49Zbb8XhcOB2u5k0aVLEY1x77bWcc8459OrVizlz5jRZw5133slf/vIXhg4dijGGrKysiIX6m2++yauvvorb7aZnz57cdddduN1u7rrrLo4//niys7MZPHhwkzUoitI6kGDNsbUxbNgwU3uBnJUrV4b1jSuJg94jJVo89/UG7pu5kqtPyebO8w+Lt5xWg4gsNMYMC7dNXUaKoigKoC6jhOHiiy9m48aNNdIeeughRo4cGfVzffzxx9x222010rKzs3nvvfeifi5FUVoPahAShJYsjEeOHBkTQ6MoSutGXUaKorRKWmn3Z0KjBkFRFEUB1CAoiqIoNmoQFEVp1ei8tOihBiHBScT1EO666y4+++yzuGpQFCX6qEGIIW11PYR7772XM888M64aFEWJPm132OnssbBjaXSP2fNIOOfBerO05vUQXnrpJd5//338fj/Lli3j5ptvprKykilTppCcnMysWbPo0qULV111Feeffz4///nPycrK4sorr+TDDz/E6/Xy1ltvaXgLRWmlaAshBqxevZorrriChx56iG3btjF//nwWL17MwoULmTt3Lh999BG9e/dmyZIlLFu2jLPPPjvsccaMGUPv3r2ZM2dO2DhG69at46abbiInJ4dVq1ZVrYcwceJE7r//foCq9RB++OEH5syZw6233kpJSUlE7cuWLeP1119n/vz53HHHHaSmprJo0SJOPPFEXnnllbD7ZGZm8uOPP/KnP/2pKsy2oiitj7bbQmigJh9LWut6CAAjRowgIyODjIwMOnbsyAUXXABY6x3k5OSE3eeSSy4B4Nhjj+Xdd99t1ndRFCX+tF2DEEda63oIjT1mpH2cTqeugaC0GAadmRZtGnQZichBIjJHRFaKyHIRuclO7yIin4rIWvu1c8g+40RknYisFpGRIenHishSe9vjIlYkcxFJFpE37fTvRSQrBt+1xWlt6yEoitK+aUwLwQfcbIz5UUQygIUi8ilwFfC5MeZBERkLjAVuE5HDgNHA4UBv4DMROdQY4wcmAdcC3wGzgLOB2cDVwF5jzCEiMhp4CKjby9rKaG3rISiK0r5p8noIIvIB8KT9d7oxZruI9AK+NMYMEpFxAMaYB+z8HwPjgU3AHGPMYDv9cnv/64J5jDHfiogL2AF0M/WI0/UQWid6j5RoMXnueu6ftYprTs3mjvN0PYTGErX1EGxXzjHA90APY8x2APu1u52tD7A1ZLdcO62P/b52eo19jDE+oAjQ1dkVRVFakEZ3KotIOvAO8BdjzD6JvJBpuA2mnvT69qmt4VoslxP9+vVrSHKrQtdDUBQl3jTKIIiIG8sYvGaMCY4r3CkivUJcRrvs9FzgoJDd+wJ5dnrfMOmh++TaLqOOwJ7aOowxk4HJYLmMGqO9taDrIShN4dR/fUFmejLvXX9yvKUobYjGjDIS4HlgpTHmkZBN04Er7fdXAh+EpI+2Rw5lAwOB+bZbab+InGAf84pa+wSP9XPgi/r6DxSlvbN1TxmLthTGW4bSxmhMC+Fk4LfAUhFZbKfdDjwITBORq4EtwC8AjDHLRWQasAJrhNIN9ggjgD8BLwEpWKOLZtvpzwNTRGQdVstg9IF9LUVRFKWpNGgQjDHziBxh9owI+0wAJoRJXwAcESa9HNugKIqiNAb1IUQfjWWkKIqiAGoQEp5EXA9BUZS2iRqEGNJW10NQlESiniHwShNps8HtHpr/EKv2rIrqMQd3Gcxtw2+rN097WA/h2WefZfLkyVRWVnLIIYcwZcoUUlNTufDCC7n00ku54ooreOaZZ5g7dy6vvfZaVK69okRCByRGD20hxIC2vh7CJZdcwg8//MCSJUsYMmQIzz//PACTJ0/m3nvv5euvv+bhhx/miSeeONBLqShKC9JmWwgN1eRjSVtfD2HZsmX84x//oLCwkOLi4qpJbj169ODee+9lxIgRvPfee3Tp0qVZ30tRmoK6jKJHmzUI8aStr4dw1VVX8f7773PUUUfx0ksv8eWXX1bts3TpUrp27UpeXh6KorQu1GUUQ9rqegj79++nV69eeL3eGn0E8+fPZ/bs2SxatIiJEyfWic2kKEpioy2EGNJW10P45z//yfHHH0///v058sgj2b9/PxUVFVxzzTW8+OKL9O7dm4cffpjf//73fPHFF9qkV2KCdiVHnyavh5Ao6HoIrRO9R9Eha+xMADY9eF6clcSP/361ngdnr+La0wZw+7n6TDWWqK2HoCiKorRd1GWUIOh6CIqixBs1CAmCroegKE1De6aij7qMFEVplbTO3s/ERg2CoiiKAqhBUBRFUWzUICiK0qrRvoTooQYhwdH1EBRFaSnUIMQQXQ9BUZTWRJsddrrj/vupWBnd9RCShwym5+2315unNa+HsGnTJn77299Whcd+8sknOemkk7jsssu48sorOffccwEruN0FF1zAOeecw1VXXcWqVasYMmQImzZt4qmnnmLYsLCTIBUlqrTSIAsJTZs1CPFk9erVvPjii1x00UW8/fbbzJ8/H2MMo0aNYu7cueTn59O7d29mzrTCDxQVFYU9zpgxY3jkkUeYM2cOmZmZdbavW7eOt956i8mTJ3PcccdVrYcwffp07r//ft5///2q9RBeeOEFCgsLGT58OGeeeWZVRNZQunfvzqefforH42Ht2rVcfvnlLFiwgNGjR/Pmm29y7rnnUllZyeeff86kSZN46qmn6Ny5Mzk5OSxbtoyjjz46qtdRUZSWpc0ahIZq8rGkta6H4PV6ufHGG1m8eDFOp5M1a9YAcM455zBmzBgqKir46KOPOO2000hJSWHevHncdNNNABxxxBEMHTq0Wd9DUZqDxkyMPm3WIMST1roewqOPPkqPHj1YsmQJgUAAj8cDgMfj4fTTT+fjjz/mzTff5PLLL686tqLEC338oo92KseQ1rYeQlFR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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 2019-05-01 00:34:48\t1\t1694.47\t1694.47\t1694.47\t1694.0\t2019-05-01 00:34:48 定义为异常值\n",
    "df['2019-5-1'][['res_time_sum','res_time_min','res_time_max','res_time_avg']].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "data = df['2019-5-1'].resample('20T').mean()\n",
    "data[['res_time_sum','res_time_min','res_time_max','res_time_avg']].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 业务高峰时段  下午2-3点， 晚上7-8点， 响应时间都是上升的"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\converter.py:256: MatplotlibDeprecationWarning: \n",
      "The epoch2num function was deprecated in Matplotlib 3.3 and will be removed two minor releases later.\n",
      "  base = dates.epoch2num(dt.asi8 / 1.0e9)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df['2019-5-1':'2019-5-10']['count'].plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Int64Index([3, 3, 3, 3, 3, 3, 3, 3, 3, 3,\n",
       "            ...\n",
       "            3, 3, 3, 3, 3, 3, 3, 3, 3, 3],\n",
       "           dtype='int64', name='created_at', length=865)"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 每天的情况都差不多，下面看看周末和平常是不是一样的\n",
    "df['2019-5-2'].index.weekday # 0代表星期一， 1代表星期二， 5,6分别代表周六和周日"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [],
   "source": [
    "df['weekday'] = df.index.weekday"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "      <th>weekday</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "\n",
       "                     res_time_avg           created_at  weekday  \n",
       "created_at                                                       \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07        3  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07        3  "
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.head(2)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>res_time_sum</th>\n",
       "      <th>res_time_min</th>\n",
       "      <th>res_time_max</th>\n",
       "      <th>res_time_avg</th>\n",
       "      <th>created_at</th>\n",
       "      <th>weekday</th>\n",
       "      <th>weekend</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:00:07</th>\n",
       "      <td>8</td>\n",
       "      <td>1057.31</td>\n",
       "      <td>88.75</td>\n",
       "      <td>177.72</td>\n",
       "      <td>132.0</td>\n",
       "      <td>2018-11-01 00:00:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:01:07</th>\n",
       "      <td>5</td>\n",
       "      <td>749.12</td>\n",
       "      <td>103.79</td>\n",
       "      <td>240.38</td>\n",
       "      <td>149.0</td>\n",
       "      <td>2018-11-01 00:01:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:02:07</th>\n",
       "      <td>5</td>\n",
       "      <td>845.84</td>\n",
       "      <td>136.31</td>\n",
       "      <td>225.73</td>\n",
       "      <td>169.0</td>\n",
       "      <td>2018-11-01 00:02:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:03:07</th>\n",
       "      <td>9</td>\n",
       "      <td>1305.52</td>\n",
       "      <td>90.12</td>\n",
       "      <td>196.61</td>\n",
       "      <td>145.0</td>\n",
       "      <td>2018-11-01 00:03:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2018-11-01 00:04:07</th>\n",
       "      <td>3</td>\n",
       "      <td>568.89</td>\n",
       "      <td>138.45</td>\n",
       "      <td>232.02</td>\n",
       "      <td>189.0</td>\n",
       "      <td>2018-11-01 00:04:07</td>\n",
       "      <td>3</td>\n",
       "      <td>False</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     count  res_time_sum  res_time_min  res_time_max  \\\n",
       "created_at                                                             \n",
       "2018-11-01 00:00:07      8       1057.31         88.75        177.72   \n",
       "2018-11-01 00:01:07      5        749.12        103.79        240.38   \n",
       "2018-11-01 00:02:07      5        845.84        136.31        225.73   \n",
       "2018-11-01 00:03:07      9       1305.52         90.12        196.61   \n",
       "2018-11-01 00:04:07      3        568.89        138.45        232.02   \n",
       "\n",
       "                     res_time_avg           created_at  weekday  weekend  \n",
       "created_at                                                                \n",
       "2018-11-01 00:00:07         132.0  2018-11-01 00:00:07        3    False  \n",
       "2018-11-01 00:01:07         149.0  2018-11-01 00:01:07        3    False  \n",
       "2018-11-01 00:02:07         169.0  2018-11-01 00:02:07        3    False  \n",
       "2018-11-01 00:03:07         145.0  2018-11-01 00:03:07        3    False  \n",
       "2018-11-01 00:04:07         189.0  2018-11-01 00:04:07        3    False  "
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 判断是否是周末，是不是5,6\n",
    "df['weekend'] = df['weekday'].isin({5,6})\n",
    "df.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekend\n",
       "False    7.016846\n",
       "True     7.574989\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 63,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 对weekend 进行分组， 对count列  求平均值\n",
    "df.groupby('weekend')['count'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "weekend  created_at\n",
       "False    0              3.239120\n",
       "         1              1.668388\n",
       "         2              1.162551\n",
       "         3              1.086705\n",
       "         4              1.155556\n",
       "         5              1.136364\n",
       "         6              1.000000\n",
       "         7              1.000000\n",
       "         8              1.000000\n",
       "         9              1.080000\n",
       "         10             1.239011\n",
       "         11             2.031690\n",
       "         12             4.195845\n",
       "         13             6.668042\n",
       "         14             8.260503\n",
       "         15             8.934448\n",
       "         16             8.466504\n",
       "         17             6.784996\n",
       "         18             6.717731\n",
       "         19             8.655913\n",
       "         20            10.536496\n",
       "         21            10.846906\n",
       "         22             9.034164\n",
       "         23             5.946834\n",
       "True     0              3.467782\n",
       "         1              1.741849\n",
       "         2              1.161826\n",
       "         3              1.050000\n",
       "         4              1.076923\n",
       "         5              1.333333\n",
       "         6              1.000000\n",
       "         7              1.000000\n",
       "         8              1.071429\n",
       "         9              1.144928\n",
       "         10             1.254111\n",
       "         11             1.992958\n",
       "         12             4.031889\n",
       "         13             6.905772\n",
       "         14             8.851321\n",
       "         15             9.858422\n",
       "         16             9.420550\n",
       "         17             7.334743\n",
       "         18             7.342150\n",
       "         19             9.270430\n",
       "         20            11.173609\n",
       "         21            11.695043\n",
       "         22            10.419916\n",
       "         23             7.025452\n",
       "Name: count, dtype: float64"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 周末调用平均次数多，7.57\n",
    "# 周末哪个时段调用次数比较高\n",
    "df.groupby(['weekend',df.index.hour])['count'].mean()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "c:\\users\\asus\\appdata\\local\\programs\\python\\python36\\lib\\site-packages\\pandas\\plotting\\_matplotlib\\core.py:1192: UserWarning: FixedFormatter should only be used together with FixedLocator\n",
      "  ax.set_xticklabels(xticklabels)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAEHCAYAAAC3Ph1GAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy86wFpkAAAACXBIWXMAAAsTAAALEwEAmpwYAAA4D0lEQVR4nO3deXycV3no8d8zo2W0jGZkbdZmybsTL7ETQwkhCwQCZUkKN2W5lCYsDdAW2l5oaS+93YBbtnKBtpSkBJJSSiEQSgo0CynZIIF4iR1bsi0vsixrlyXNaNfMnPvH+448lrXOvLNpnu/no49Hs7xz3tfSozPnPOc5YoxBKaVU9nGluwFKKaXiowFcKaWylAZwpZTKUhrAlVIqS2kAV0qpLJWXyjerrKw0zc3NqXxLpZTKevv37x8wxlTNvX/JAC4iXwfeCPQZY3bY930OeBMwDZwC3m2MGV7qWM3Nzezbt2+FTVdKqdwmImfnu385Qyj3Aa+bc99jwA5jzC7gBPBnCbVOKaXUii0ZwI0xTwEX5tz3qDEmZH/7HNCQhLYppZRahBOTmO8B/suB4yillFqBhAK4iHwcCAHfWuQ5d4nIPhHZ19/fn8jbKaWUihF3ABeRO7AmN99pFimoYoy5xxiz1xizt6rqsklUpZRScYorjVBEXgd8DLjRGDPubJOUUkotx5I9cBH5NvAssFVEOkXkvcA/AF7gMRF5QUS+muR2KqWUmmPJHrgx5h3z3H1vEtqilFIZLRIx/LS1lxu3VlGY5053c3QpvVJKLdc3ftHOXd/cz/f2d6a7KYAGcKWUWpbT/aN89uFjADx9YiDNrbGktBaKUkplo3DE8NEHDuHJd/OKTZX8/NQAoXCEPHd6+8DaA1dKqSXc+8xpDnQM89e3buctVzcQnAxxqHM43c3SAK6UUos52Rfk84+e4JYra7htdx3XbarAJfBUBgyjaABXSqkFhMIRPvLAYUoK3HzqzTsREfzFBexq8PNUW/pXlmsAV0qpBdzz9GkOnRvmb27bQZW3cPb+GzZXcujcMCPjM2lsnQZwpZSa1/GeIF98rI3X71zLG3fVXvLY9VuqiBj4xan0DqNoAFdKqTlmwhE++sAhvJ48PnHbDkTkksd3N/rxFualfRhFA7hSSs3x9WfO8OL5ET75GzuoKC287PF8t4trN1bw1IkBFqnll3QawJVSao7HW/u4qsHHr++sXfA512+p4vzwBGcGxlLYsktpAFdKqRjGGFp7Auxs8C36vBs3W+Wxn25L3zi4BnCllIrROTRBcDLEFbVliz5vXUUxTRXFPHUifePgGsCVUipGa3cAYMkADnDD5iqePT3IdCiS7GbNSwO4UkrFaOkOIALb1nqXfO71mysZnw5zoGMoBS27nAZwlfW+v7+Tf/zZyXQ3Q60Srd0B1leUUFywdK2/azdWkOeStA2jaABXWcsYw2cfPsZHHjjEFx47weRMON1NUqtAa3dwWcMnAF5PPlevK0/bRKYGcJWVpkMRPvLdQ3zliVPsrPcRjhiO9QTT3SyV5YKTM3RcGOeK2qWHT6Ku31zJka4RBkenktiy+WkAV1knODnDe+57ngcPnuejt2zhK++8GoAj50fS3DKV7Y7bnYDl9sDBygc3Bp45mfpeuAZwlVV6A5O89e7neO70IJ+7fRe//6rNNJQXUebJ42hXIN3NU1luJRkoUTvrffiL89MyjKI78qis0dYb5M5vPM/w+DT33vkSbtxiLaQQEbbX+TjapT1wlZiW7iC+onxqfZ5lv8btEq7bVMnTbf0YYy6rm5JM2gNXWWFiOszb73mO6XCE77z/2tngHbWjvoxjPUFmwunJx1WrQ0t3gCtqvSsOwjdsrqQ3MEVb32iSWjY/DeAqK7T2BBgcm+YTt21nR/3lS5y31/mYDkU4meJfILV6hCOG4z2BFQ2fRF1vL6tPdTqhBnCVFVrs8e35grd1v/VLp+PgKl7tg2NMzkS4Mo4AXucvYlN1KU+leBxcA7jKCq3dAco8edT7i+Z9fH1lKUX5bs1EUXGLZwIz1o66Ms4M6BCKUpdp6Q5wZV3ZgmOTbpdwRa13tqeu1Eq1dgfIcwmba0rjen2Nz0NvYCql9cE1gKuMF44Yji1jdVw0EyUSSV+BfZW9WruDbKwqpTDPHdfra7wepkMRhlO4T6YGcJXxzg6OMTETXnJsckd9GWPTYc5eGE9Ry9Rq0mpnoMRrrZ162BOYdKpJS1oygIvI10WkT0SOxNy3RkQeE5E2+9/y5DZT5bIWe2zyyrqle+CgKzLVyg2NTdM9Mhn3+DdATZm19VpvJgVw4D7gdXPu+1PgcWPMZuBx+3ulkqKlyxqb3FS9+Njk5ppS8t2imShqxRKdwASo9lo98IwK4MaYp4ALc+6+Dbjfvn0/8BvONkupi1q6A2yqXnpssjDPzeZqr67IVCvW4kQAn+2Bp66oVbxj4DXGmG4A+99q55qk1KVa7QyU5dhRX8bRrkBadwpX2ae1O0iVt5Aq7+U70C9XYZ6bNSUFmdUDT5SI3CUi+0RkX39/+vaOU9lpYHSK3sDUshdXbK/zcWFsOqUTSSr7WROY8fe+o2rKPFkRwHtFpBbA/rdvoScaY+4xxuw1xuytqqpa6GlKzSs6NrncAB5dkXnkvI6DZ7MnjvfRF0xNIJwJWyUYEslAiaopK8yKIZSHgDvs23cAP3SmOUpdaqWTS9vWliGCjoNnsdP9o9z5jef57Xt/xfh0KOnvd6p/lOlwfEvo51pb5sm4NMJvA88CW0WkU0TeC3waeI2ItAGvsb9XynEtXQHqfB7KSwqW9fySwjw2VJZoDzyLPXSoCxE40Rvkj793OOnzGU5koERVl3kYGJ0ilKKqmEvWAzfGvGOBh252uC1KXaYljrHJ7XU+9rXPTZxS2cAYw0OHunhp8xpu2lrNZx4+xs56Hx+4cWPS3rOlK0BBnosNlSUJH6umrBBjoH90ilrf/HV7nKQrMVXGmpwJc6p/bNkZKFE76svoGpnkwth0klqmkuVoV4DT/WPcuruOD9y4gTfsquWzDx9LapnW1u4gW2pKyXMnHg7XlkVzwVMzDq4BXGWstt5RwhGz4rHJ6IpMHQfPPv95qIs8l/D6HbWICJ+7fRdbarx86NsHOTs45vj7GWOsDJS1iQ+fgJWFAtAzkppxcA3gKmO1dFsBeOVDKJqJko0iEcN/Hurihi1Vs3MexQV53P2uawB4/zf3Oz6p2R+cYnBs2pHxb7gYwFOVQaMBXGWs1u4gJQVu1q0pXtHr/MUF1PuLtAeeZfZ3DNE1MsmtV9Vdcn9TRQlffseepExqLrfOznJVlBSQ55KU5YJrAFcZq6XLmsB0uVa+SWx0RabKHg+90IUn38Vrrqy57LEbt1Txx6/dxo8Pd3P3U6cde8/W7iCAY0MoLpdQ7S2kZ0THwFUOi0TM7CYO8dhe5+PMwBjBydTVZlbxC4Uj/OTFbm6+ooaSwvmT4z5w4wZefUUNX/zpCcfS9Fq7A9T7i/AV5ztyPLBSCXUIReW0zqEJRqdC8W9vZa/IjPawVGb7+alBBsemLxs+iSUivHZ7DZMzEcdqvidaA3w+NWWFOompclvLCpfQz6WZKNnloRe68HryuGnr4uU2ttRYwbatN/E/zFaa6qhjE5hRa1NYD0UDuMpILd0BXAJb18bXO6r2FlJZWqiZKFlgcibMo0d7eN32tUuWDI7WhD/Rm/jmwW29o0SMMyswY1WXeQhMhpiYDjt63PloAFcZqaUrwIaqUjz58e1PKCJsryvTHngWeOJ4H8GpELfuXnj4JKqkMI+G8iJOONADd3IJfayLi3mS3wvXAK4yUmt3IOHiQjvqy2jrG2VyJvk9IRW/hw51UVlawLUbKpb1/C01Xtoc6IG39gQoyl95mupSajSAq1w2Mj7D+eGJhHNzt9f5CEeMI701lRzByRkeb+3jDTtrl72UfXNNKacHRplJMBOltTvA1rVe3HGkqS5mrc/aFCIVVQk1gKuMk+gEZlT09dGPyirzPNbSy1Qowq2765f9mi3VXmbCJqGl9cYYjvUEHc9AAWsMHKAvBfVQNICrZZmYDvOrM6mp8OfU2GR9eREicH5Yd+fJVA8d6qKhvIir1/mX/ZpoJkoiE5k9gUmGx2ccH/8G8BbmUZTv1h64yhx/+dAR3nr3s/zwhfNJf6+W7kDC+xMC5LtdVJUW0j084VDLlJMujE3zTNsAb7qqDpHlD2Nsqi6drRcer2P2+oBtDq3AjCUirPWlJpVQA7ha0qn+Ub63v5OCPBf/+8EXOd2f+ATSYlq6Ep/AjKr1F9GdokUVamUePtJDKGIWXbwzn6ICN43lxQlNZEaH6bYlYQgFrDRWDeAqI/y/x07gyXfz4AdfTkGei9/7t4NJy+yYDkVo6ws69tG2zueha0R74JnoQMcQVd5CtsWR67+lpjSxHnhPkHp/EWUe55bQx7J64DoGrtKspSvAjw538+7rmtlR7+MLb91Na3eAv/lRS1Le71T/KDNh41h1uFpfEd3Dk0nflkutXHQn+JUMn0RtrvFyZmCM6VB8mShO7UK/kOju9Mn+udMArhb1hceO4/Xkcdf11pZWr9xWzQdu3Mi//bKDhw51Of5+LV3OZKBE1fk9TMyEGZnQolaZJBSO0NY7yhVxrrTdUlNKKGJojyMTZXImzOl+Z3ahX0hNmYepUCTpP3cawNWCDnQM8dPWPt5/w4ZLqrV95JYtXNNUzp99/zBnBpzdJaW1O4An38V6B/YnBKjzW/sSdmkmSkY5MzDGdDgS9xj05upoJsrKh1GStYQ+Vk2ZNQGf7GEUDeBqQX/36HEqSgp493XrL7k/3+3i79+xh/w8F7/7rQOOjoe39gTYWuPc4opan5WT263j4BmltSexLJBN1aW4JL5Uwmiaajxj78s1u7VakicyNYCref3i1AA/PznI775y07z1mev8RXzhrVfR2h3gEw6Nh1v7EwYdTe2a7YFrJkpGOdYdIM8lbKwqjev1HnsJfDxVCaNL6JsqnPmUN59U1UPRAK4uY4zh848cp9bn4Z2/tm7B571qWw3vv2ED3/plB48e7Un4fftHp7gwNu1oaldlaSF5LtFc8AxzrCfIpupSCvLiD0Gba7xxDaEkawl9rOgaht4kdxw0gKvL/Ox4Hwc6hvnQqzYvWQ3wo6/dSk1ZIT863J3w+85ub+Xg2KTbJdSUeTQXPMMc6w4kPISxpaaU9sFxpkLLH8JL5hL6WJ58N+XF+fQmeWceDeDqEpGI4fOPnKCpopjf3Nuw5PPz3S72NJZzqHM44fc+lqSxyTq/hy7tgWeMkfEZukYm2ZbgH+otNV7CEbOiifRkLqGfy0ol1ElMlUL/daSHlu4Af/jqzeQvszrcrkYfZwfHGR6fTui9j/UEqfV58BcXJHScuWp9uhozkxzrceYP9cVMlOVPZCZzCf1c1SnYmUcDuLrElx9vY0tNKbdetfzqcLsb/AAc7kxs84RWBz5Wz6fW76FnZJJIRBfzZAKnipVtqCrBJSvbXi3ZS+hjrS1L/nJ6DeBqVl9wkuO9Qd66t3FFEzw7Gqz9Jw+dG477vadDEU72Ob8/IUCdr4jpcISBseQvbVZLO9YTZE1JAdUJFivz5LtprihZ0URmspfQx6op89AfnCKUYN3yxSQUwEXkj0TkqIgcEZFvi4jHqYap1HuhYxiAPevKV/S6Mk8+G6pKOJRAD/xU/yihiEl4XHQ+s7ngupgnI7T2BNm21hvXEvq5NteUrqioVbKX0MeqKfMQMTA4ltjQ4mLiDuAiUg98GNhrjNkBuIG3O9UwlXoHOobJd1t7Sa7U7gY/hzqH4679EB0XjXdp9WKiueC6mCf9whHDiR7ncv231HhpHxxb1mKyVCyhjzW7mCeJ8y+JDqHkAUUikgcUA84Xx1Apc7BjiCvrfHFtJLyrwUd/cCrulWet3UEK8pxbQh8r2gPX5fTp13FhnImZsGNj0JtrvEQMnO5fOhMlFUvoY6ViMU/cAdwYcx74PNABdAMjxphHnWqYSq1QOMLhzpEV7YwSa1ej9bpD5+IbRmntDrClpnTZ+yKuxJqSAgrzXNoDzwDRVNErHOuBWys52/qWHgdvdSj7Zblm66EEkzf3ksgQSjlwG7AeqANKROS35nneXSKyT0T29ff3x99SlVTHeoJMzIRXPP4ddWVtGXku4XCc+eDHHPxYPZeIUOvz6HL6DNDaE8Ql1ti1E9ZXluB2ybImMlu7k7+EPlZFaSFulyR1NWYi3Z1XA2eMMf3GmBngQeDlc59kjLnHGLPXGLO3qqoqgbdTyXTQziDZY/ekV8qT72ZbrTeuBT0Do1P0B6eS2jOy6oJrDzzdjnUHWF9ZEtcw3XwK89w0VxQvKxf8WHeQLUleQh/L7RKqSpObSphIAO8AXiYixWJNJ98MtDrTLJVqBzuGqCwtpKG8KO5j7Grwc7hzZMX51tHFFU7VAJ9PrV+X02eCYz1BxzONttR4l8wFN8bQ2hPgyhRNYEbVlBUmtSJhImPgvwS+BxwAXrSPdY9D7VIpdrBjmKvX+RNK7drd4Cc4GVpxkf1oBsrWJPbA63xF9AYmk5qTqxYXnJyh48K445lGm2u8nL0wvmgmSm9giuHxmZSswIxVU+ahL4nL6ROaMTLG/KUxZpsxZocx5l3GGF0pkYWGxqY5MzAW9/h31K5Ge0HPCodRWruDVHsLqShNbGHHYmr9Vk5uXxInlNTiouPUTgfRLTWlGGOtJViIU6s/V6qmzJOZPXC1erwQHf+OMwMlalNVKUX57hVnorR2B5KygCdWnU9zwdNtttqkQ/udRm2psXr0iy3oaU3Bp7z5rPV5GJmYSdom4BrAFQc6hnC7hF32kvh45bld7Kz3rSgTZSYcXUKf3F+sWr/mgqfbsZ4AXk8edT5nF2w3V5SQt0QmSmu3tYTeV5T8JfSxouUCkjWMogFccbBjmG1rvRQXXL7zzkrtavBxtCvAzDLHmqN7IzqVF7yQWu2Bp92x7iBXrI1vF/rFRBeALZaJcqw7kLIVmLGSvbWaBvAcF44YXjg3nPDwSdSuRj9ToQjHe5ZXYKg1RdXhyjx5lBbmaQ88TaIbKSTr/3lLjXfBxTyTM2FOD4ylfPwbrCEUSN5qTA3gOe5k3yijUyH2NCY2gRkVLS273InM1u4g+W5hQ6UzCzsWEl3Moz3w9OgcmmB0KpS0LJDNNaXWMv3py8eaT/aNEo6YlGegANR4NYCrJDrYMQTA1U3OBPDGNUWUF+dzeJkTmcd6Amyq9ia0N+Jy1fp1Y4d0ORbdhT6JPfCFMlFaZjNQUj+EUlaUhyfflbQAnvigp8pqBzuG8Rfn01xR7MjxRISddmXC5WjtDnDdxkpH3nspdT4PLV2BlLyXulS0BsrWmmQFcOsT3Pvu30dBnouZcISZsCEUiTA+FcaT70rZEvpYImKnEiZnElMDeI47eG6IPY2JLeCZa3eDj3/4WT/j06FFJ0YvjE3TG5hKye4oYE1kDoxOMRUKU5jnzFJutTytPQGaKoopKUxOyNlQWcqdL29mYHSKfLeLPJeQn+ci3yXku13savSnbAn9XDVJ3FpNA3gOC0zO0NY3ypt21Tl63F0NfiIGjnYFeEnzmgWfd3FvxNSMTUZTCXtHpljn0CcOtTzHuoNJrXXjcgl/dev2pB0/ETVlnriLvC1Fx8Bz2KFzwxiz8h14ljK7InOJLdaiNVBSlR0QXczTpROZKTUxHebM4FhaJhEzQY3XKmgV72Yni9EAnsMOdgwjAlc1JraAZ65qr4c6n2fJLdZauwNUlhZQleDeiMsV7YFrJkpqnegNYkx6JhEzwVqfh8mZCIHJkOPH1gCeww50DLGl2os3CRu8WpUJhxd9TjJrgM9ntgeuueApNbtdXhrysDNBdRJ35tEAnqOMMRzscG4Bz1y7Gn2cHRxneHz+DV1D4QgnepM7LjpXUYEbf3E+XVoXPKVau4MUF7hpLM/NeYdkbq2mATxHnRkYY2RiJmkB/OKCnvmHUdoHx5gKRVLeK6v1aS54qh3rCbB1rRdXmrJA0m1TdSmfevMONlY5v1hNA3iOOtAxDDg/gRm1wy6MdXiBicxoZbpUpRBG1fk82gNPodkl9CmuAphJ1pQU8M5fa6LOH/9mKQvRAJ6jDnYM4S3MY1MSegUAZZ58NlSVLNgDP9YTwO0SNlUndwn9XLozT2oFJkIMj88kvVRCrtIAnqMOdgyze50/qR9rdzf4eb79Al97+jTPnhpkZGJm9rHW7iAbq0pSvqCm1lfEyMQM49POZwSoy3UOjwNQn8BWfWphupAnB41NhTjWE+D3X7kpqe/zpt11PHNygE/++OJWqevWFLO9rowDHUPcuCX1m1zXxdQFT3XvPxedH7KGq+qTMHygNIDnpMOdI0QM7HGogNVCXrm1ml99/NX0B6c42jXC0a4ALV0BjnaNMDw+w8s2VCT1/ecTWxdcA3jynbfnG7QHnhwawHPQ0S5rXHpXvbMLeBZS5S3kpq3V3LS1eva+6VAkJRUI55rdWk1zwVPi/NAEnnwXFSUF6W7KqqRj4Dno7OA4ZZ481qTxlyodwRugxmet+tTl9KnROTRBvb/I8V14lEUDeA5qHxyjubIkJ3+pCvPcVJYWag88Rc4PT1Cfowt4UkEDeA46OzieltrImaLO79EeeIqcH57QCcwk0gCeY6ZDETqHxlmfw+VUra3VtAeebOPTIS6MTdOgE5hJowE8x3QOjRMx5HgPvIju4YmklPdUF0VXvGoATx4N4Dnm7KC1sKK5Mnd74HW+Isamw0kp76kuOqc54EmnATzHnBkYA6A5h3vgWhc8NWYX8WgPPGk0gOeYs4NjeAvTm0KYbrWaC54S54cnyHMJ1V5PupuyaiUUwEXELyLfE5FjItIqItc61TCVHO2D4zRVFudkCmHU7HJ67YEn1fmhCer8RWnbTDgXJLoS80vAw8aY20WkAMjdgdUscXZwjO0pWoGZqaq9Htwu0R54knUOjev4d5LF3QMXkTLgBuBeAGPMtDFm2KF2qSSYCUc4NzTB+hwe/wZwu4Qab6H2wJPMWsSjATyZEhlC2QD0A98QkYMi8jURye3IkOHOD00QjhiacjgHPKrWX6Q98CSaDkXoC05pDzzJEgngecDVwD8ZY/YAY8Cfzn2SiNwlIvtEZF9/f38Cb6cS1T5oZ6BU6t/ZOn/RbKU85bzukQmM0QyUZEskgHcCncaYX9rffw8roF/CGHOPMWavMWZvVVXq6z+ri9o1hXDWujVFdA1PMBOOpLspq1I0hVAX8SRX3AHcGNMDnBORrfZdNwMtjrRKJUX74DglBW4qS3M3hTCqqaKEUMTMBhrlrM5oAPfrcF0yJZqF8iHgW3YGymng3Yk3SSXL2cExmipyswrhXOvtYaRoZUblrM7hCURgrU9zwJMpoQBujHkB2OtMU1SytQ+Oc0WKd4HPVNGJ3GhpAeWs80MT1Hg9aav7niv06uaIUDjCuQvjOv5tqyotpLjAPTuxq5x1fnhcJzBTQAN4juganiQUMRrAbSJCU0WJ9sCT5PzwhE5gpoAG8BwR7WlqDvhFzRXF2gNPgnDE0D08qTngKaABPEdEA9V6nbCb1VxZwrkL44Q0ldBRvQHr054OoSSfBvAc0T4wTlG+mypvYbqbkjGaK4qZCRvdncdh0QVS2gNPPg3gOcJKIcztKoRzRXcl0mEUZ11cxKPDdcmmATxHnBkc0wnMOZpnA7hOZDpJe+CpowE8B4Qjxkoh1PHvS1R7C/Hkuzg7oD1wJ3UOjVNRUkBRgTvdTVn1NIDnAKvmh6FZM1Au4XIJTWtKdAjFYZ1DWkY2VTSA54BornMu70S/kObKYh1Ccdj54QkdPkkRDeA54MxsGVntgc/VXFFCx+A44YhJd1NWBWOsAmG6iCc1NIDngLMDY3jyXdTo5rKXaaooYTocoSegqYROGBidZioU0R54imgAzwHtg+M0rSnBpZvLXiY6L6ATmc6YzUDRFMKU0ACeA9rtHHB1uSY7M+eMTmQ6IpoDrj3w1NAAvsqFI4aOwXFdQr+A2jKr5KkWtXLG+WHrOmoWSmpoAF/legKTTIcjmoGyACuVsHh2uzmVmPNDE3g9efiK8tPdlJygAXyVu7gPpg6hLETLyjqnc0hTCFNJA/gqN1tGVodQFtRcUczZC2NENJUwYVoHPLU0gK9yZwfHKchzUVumKYQLaaosYXImQl9wKt1NyXrntQeeUhrAV7n2gTGa1hRrCuEiosNLZ3QcPCEjEzMEp0JahTCFNICvcu32TvRqYdGqhGc1lTAhsymEOoSSMhrAV7FIxHB2cJz1uoR+UXX+IvLdojVREtQ5ZKcQ6hBKymgAX8V6g5NMhTSFcClul9C4plh74Am6uApTA3iqaABfxc7MphBqAF9Kc0WJ9sATdH5oAk++i4qSgnQ3JWdoAF/FLpaR1SGUpTRVWD1wYzSVMF7RMrK6bV/qaABfxdoHxyhwu6jTMcklra8sYXw6TL+mEsbt/PCEFrFKMQ3gq9jZgXEa1xTh1hTCJTXp/pgJ01WYqacBfBVr142Mly2aC67bq8VnfDrEhbFpXYWZYgkHcBFxi8hBEfmREw1SzghHDKcHxrQK4TLV+4vIc4lmosSpy85A0QCeWk70wP8AaHXgOMpBnUPjTIcibK4pTXdTskKe20VDeRHtAzqEEo9OrQOeFgkFcBFpAN4AfM2Z5iintPWOArCp2pvmlmSPpgrdoT5enboKMy0S7YF/EfgTIJJ4U5STTvZHA7j2wJdrfaVVVlZTCVfudL+172q17ruaUnEHcBF5I9BnjNm/xPPuEpF9IrKvv78/3rdTK3Syb5Qqb6EW1l+BpopiRqdCDI5Np7spWaetL8iWGq9mPKVYIj3w64BbRaQd+HfgVSLyr3OfZIy5xxiz1xizt6qqKoG3UyvR1jfKZu19r4gWtYrf8R4rgKvUijuAG2P+zBjTYIxpBt4O/Lcx5rcca5mKmzGGU32jOnyyQtEVqzqRuTJDY9P0BafYqgE85TQPfBXqCUwyOhXSHvgKNZQX4xLNBV+pE71BALas1QCeanlOHMQY8wTwhBPHUok72WdNYG7UAL4iBXkuGsqLdTXmCkUDuPbAU0974KtQNIVws6YQrli0qJVavuO9Qco8edSUFaa7KTlHA/gqdLJ/FF9RPpWlWtZzpZorSjgzoFUJV+JEzyhb13q1CmEaaABfhU72Whko+gu1ck0VxQQnQwyPz6S7KVnBGMPxXs1ASRcN4KvQyX7NQIlXNJXwjA6jLEtfcIqRiRm26gRmWmgAX2UGR6e4MDatATxO66usAB6dCFaLO95jZ6BoDzwtNICvMtHAowE8Ps0VJZQUuDl6fiTdTckKsymEGsDTQgP4KqM1UBLjdgnb630c1gC+LMd7glR5C1mj+2CmRVYE8KlQmNP9+pF2Odp6RykucFPn06pw8dpV76OlK8BMWGu0LeVEb1Dzv9MoKwL4/37wCG+9+1lN7VqGU/2jbKwqxaVFheK2s8HHVCgym0+v5heJGE70jurwSRplRQDfs87PwOg05y5MpLspGa+tV4tYJWpXgx+AF88Pp7Udma5zaIKJmTBbdNOQtMmKAH71unIADnQMpbklmS04OUNPYFKX0CeoaU0xXk8ehzt1HHwxx7UGStplRQDfutZLSYFbA/gSohko2gNPjMsl7Kz38aJOZC4qmoGiP2/pkxUB3O0Srmr0awBfgqYQOmdng4/W7gBToXC6m5KxjvcEqfcX4fXopiHpkhUBHKxhlNbuIOPToXQ3JWOd7BulwO1i3ZridDcl6+2q9zMTNpzo0YnMhZzoDeoKzDTLngDe5CccMTouuYiTfaOsrywhz501/60Za1eDD4DDOpE5r5lwhFP9moGSblnzm76n0ZrI3H9Wh1EW0qa78DimobwIf3E+L2qHYV7tA2PMhA1b1+rPWzplTQAvLylgQ2UJB3UcfF6TM2HODY1rAHeIiDWRqZ/45ndcl9BnhKwJ4AB71pVzoGNYF/TM43T/GMboBKaTdjX4ONEbZHJGJzLnOtETxCWwsUp/3tIpqwL41U1+LoxNc1a3vLpMW5+d0qWLKhyzs95PKGJo7Q6kuykZ53hvkObKEjz57nQ3JadlVwDXBT0LOtU3iktgfWVJupuyakQnMjUf/HIneke1BkoGyKoAvqXGS2lhngbwebT1jbJuTTGFedojckqtz0NlaYGOg88xOROmfXBMx78zQFYFcGtBj48DZ4fT3ZSMc7JvlE26ibGjohOZmolyqZN9oxiD5oBngKwK4ADXrCvnWE+AsSld0BM1E45wZmBMJzCTYGeDn7Y+XUAWS3fhyRxZF8D3NJUTMXCoczjdTckYZwfHCUWM1qRIgl31PiIGWrp0IjPqRG+QAreL5gpd8ZtuWRfAr7YX9BzsGE5vQzLISTsDRXvgztsZXZGpwyizjvcG2Vhdqit+M0DW/Q/4ivPZWFXCAV2ROStaxErLyDqvpsxDtbdQM1FinOgJslXTVTNC1gVwsNIJD3QM6YIeW1vfKHU+D6WFeeluyqq0q8HHYR2yAyAwOUPXyKTWAM8Q2RnAm8oZGp/hzMBYupuSEU72jbJJJ5SSZme9n9MDYwQnZ9LdlLRrs5fQaw54Zog7gItIo4j8TERaReSoiPyBkw1bzMUFPcOpesuMFYkYTvWPskmXNCfNrgYfxsBRncjkuF1eVzNQMkMiPfAQ8BFjzBXAy4DfE5ErnWnW4jZXl+LVBT0AnB+eYHImohOYSbSj3l6RqROZnOgNUlLgpt5flO6mKBII4MaYbmPMAft2EGgF6p1q2GJcLmH3Or9OZHIxJ1droCRPlbeQOp9HJzKxft4213hxuSTdTVE4NAYuIs3AHuCXThxvOfasK+dEb5DRHF/Q8+DBTso8eWyvK0t3U1a1nQ26R+bkTJijXSM6/p1BEg7gIlIKfB/4Q2PMZYOEInKXiOwTkX39/f2Jvt2sq9f5rQU954YdO2a2OXdhnIeP9PCOX1tHcYFmoCTTrgY/ZwbGGJnI3YnMB/Z3EpgMcdueunQ3RdkSCuAiko8VvL9ljHlwvucYY+4xxuw1xuytqqpK5O0uEd2hJ5eHUe77RTsiwh3XNqe7KaveTnsc/GiO9sJD4Qh3P3mKPev8XLuhIt3NUbZEslAEuBdoNcZ8wbkmLY+vOJ/N1aU5O5EZnJzhO8+f4/U7a6nTCaWkiwbwwzkawP/zcBedQxP87k2bsH71VSZIpAd+HfAu4FUi8oL99XqH2rUsV68r5+C53Nyh57v7OhmdCvHeV6xPd1NyQnlJAY1rinIyEyUSMfzTE6fYWuPl5m3V6W6OipFIFsozxhgxxuwyxuy2v37iZOOWcnWTn+HxGU7n2IKecMRw3y/OsLepnN2N/nQ3J2e8tLmCnx3vo3tkIt1NSamftvZyoneUD960UbNPMkxWrsSMuqbJGgd/+EhPmluSWo+19HDuwoT2vlPsD1+9mXDE8Mkftaa7KSljjOErT5yicU0Rb9xVm+7mqDmyOoBvrCrlNVfW8KXH22bzoXPBvc+coaG8iFu2r013U3JK45pifv+Vm/jxi908dcK5jKpM9uzpQV44N8z7b9io1QczUFb/j4gIf/uWnZR58vjD77zAdCiS7iYl3aFzwzzfPsSdL2/GrR9nU+53bthAc0Uxf/XQUaZCq3+3+q/87BRV3kJuv6Yh3U1R88jqAA5QWVrIp9+yi9buAF/86Yl0Nyfp7n3mDKWFebztJY3pbkpO8uS7+evbdnB6YIyvPX0m3c1JqkPnhnnm5ADve8V63X0+Q2V9AAd49ZU1vG1vI1998hT72i+kuzlJ0z0ywU9e7OZtL2nE68lPd3Ny1o1bqvj1HWv5+/9u49yF8XQ3J2m+8sRJyjx5vPNlTeluilrAqgjgAP/nTVdSX17E//ruoVW7vP7+X5wlYgx3vrw53U3Jef/njVciCJ/4UUu6m5IUbb1BHjnayx0vb9Y68xls1QTw0sI8vvDW3ZwbGudTP159v1Tj0yG+/asOXrt9LY1rdC/CdKvzF/HhmzfzaEsvPzvW59hxewOTvO/+fXz0gUNpndP5pydPUZTv5t3XaaZTJls1ARzgJc1reP8NG/n2r87xeGtvupvjqO/v72RkYkZTBzPIe1+xno1VJfzlQ0eZnEl8QvNnx/v49S89zVNt/Xxvfyfv/+Y+R467EpGI4bnTgzz0Qhdvf2kja0oKUvr+amVWVQAH+KPXbGbbWi8f+/5hBken0t2chJ0ZGOPP/+NFPvnjVq5q9M/mvqv0K8hz8YnbdtBxYZyvPnkq7uNMhyJ88kctvPsbz1PtLeQnH34F//fNO3niRD/v/sbzSR8SnA5FePJEPx//wYtc++nHefs9z1Fc4OZ3rt+Q1PdViVt1g1uFeW6++Pbd3Pr3P+fObzzP63fWsrvRz64GHyXzjOUZY+gcmuDI+RGOdI0wND6DtzCP0sI8Sj3Wv15PHr6iAq5u8lOYl5rZ+P1nL3DPU6d5tKWXfJeLN++p58Ov3qx1KDLMyzdV8qar6vjKE6cozHPzuh1rWV9ZsuzXtw+M8eF/P8jhzhHe9bImPv6GK/Dku9lU7aW4wM1HHjjEu+79Jffd+VJ8xc5MXEcihvbBMV44N8zPjvfzxLE+glMhivLd3Lililu21/CqbdX4i7X3nekklXVE9u7da/bt25eS93rwQCdffryN9kErS8Al1jZQe9b5uaK2jPNDExzpGuHI+cBsiVC3S/AX5TM6FWJqnvHH8uJ83ryngbe9pJGtSdjUdXw6xJPH+/nnp09zoGMYX1E+73pZE7/98iaqvR7H3085oy8wyQf+df/sFn9ba7y8dsdaXru9hitryy77ozsTjjA8PsNTJ/r5ix8ewe0SPnv7Vbxux+ULsx4+0sOHv32QTdWlfPO9L6WitHDF7esNTHLo3DCHOoc5dG6EQ53DBCetXn1laQE3b6vhlu01XLepUtMFM5SI7DfG7L3s/tUawKMujE1z6NwwB88Nc7BjiEPnhglMhihwu9i61suO+jK21/nYWe9j61rv7A/wTDjC2FSI4GSI0akQ54cm+MHB8zza0sNM2LBnnZ+37W3kjVfVxT1L3z0ywb72Ifaftb5augOEI4bGNUW897r1vPUljVrnO4ucH57g0aM9PHykh+fbLxAx0LimiE1VpQyNzzA0Ps2FsenZ4Amwt6mcL71jz6JblD15op/3f3Mf9f4ivvW+l7HWt/Af88HRKV48P8LhTuvrxfPD9AasoUS3S9i21stVjX52N/jZ1ehjc7VXF4RlgZwN4HNFIobuwCRVpYUU5K18CmBwdIofHDzPd54/R1vfKMUFbnY1+HCtYGjDGDg7OEbXyCQARflurmr0sbdpDXuby3nFpkpdtpzlBken+GlrL48c7aUvOEl5cQFrSgooLy6wb+dTU+bhVduql/V//cvTg7z3/n0UF7jn3f/UGOi4MM75YavQlghsqCxhV4OfnfU+rmr0s72uTHvYWUoDuMOMMRzoGOa7z5/j9MDoil9fXeZhb1M51zSVc0VtGfkasNUSDp0b5vOPHl8wM6W6zMNVDT521vvZUV+mi71WEQ3gSimVpRYK4NrtU0qpLKUBXCmlspQGcKWUylIawJVSKktpAFdKqSylAVwppbKUBnCllMpSGsCVUipLpXQhj4j0A2fjfHklMOBgc7KRXgO9Brl+/pCb16DJGFM1986UBvBEiMi++VYi5RK9BnoNcv38Qa9BLB1CUUqpLKUBXCmlslQ2BfB70t2ADKDXQK9Brp8/6DWYlTVj4EoppS6VTT1wpZRSMTSAK6VUlnI8gItIkYg8KSJuEWkWkQkReSHma96tru3nHnG4LWtE5DERabP/Lbfv3yki9zn8Xpl03r8pIkdFJCIie+c89mciclJEjovIa2Pu/2n0+iTwvpl0DT4nIsdE5LCI/EBE/DGPJe0aLNCW6HW5KuZaXBCRM/btnzr9njHvLSLyKRE5ISKtIvJh+/43ishfJ/F903nOv2///xoRqZzz2E32+x8VkSft+wpE5CkRyb4NaI0xjn4Bvwf8gX27GTiyzNct+7kraMtngT+1b/8p8JmYx34KrFul530FsBV4Atgbc/+VwCGgEFgPnALc9mN3AB9fRdfgFiDPvv2Z6P99sq/BUtcl5r77gNvneW6ew+/9buBfAJf9fbX9rwAHgWKnzzcDznmP/TPVDlTG3O8HWqK/99FrYd/+S+CdybgWyfxKxhDKO4EfLvSg3dt6WkQO2F8vn+c520XkV/ZfysMistm+/7di7r9bRJbaofU24H779v3Ab8Q89p/A21dyYkvImPM2xrQaY47P89BtwL8bY6aMMWeAk8BL7cceAt6xzHNdSCZdg0eNMdHt358DGuzbyb4G81nqujwhIv/X7hH+gYjcJyK3xzw+GnP7j0XkefvaLKcH/UHgb4wxEQBjTJ/9r8H6A//GuM5oaWk7Z2PMQWNM+zwP/U/gQWNMh/28vpjH/sNuc1ZxNIDbH5E3zLl4G2M+Qv0j0Ae8xhhzNfA24MvzHOoDwJeMMbuBvUCniFxhP/86+/4wS1/wGmNMN4D9b3XMY/uA61d4ivPKwPNeSD1wLub7Tvs+jDFDQKGIVMRz4Ay/Bu8B/su+nbRrMJ8Frst8/MaYG40xf7fIsW4BNmP9wdkNXCMiNyxx3I3A20Rkn4j8V/QPos2x34E57Uz3OS9kC1Bu//HYLyK/HfPYEeAlcR43bZwe86kEhufcd8r+pQNARHzAP4jIbqxfxC3zHOdZ4OMi0oD1F7NNRG4GrgGeFxGAIqyAEK8+oC6B18fKlvOWee6LzSONXpPBOI6dkddARD4OhIBvRe+a52lOXYP5zHdd5vOdZTznFvvroP19KVZwe2qR1xQCk8aYvSLyFuDrXAzaTv4OxEr3OS8kD+vn6Gasn6FnReQ5Y8wJY0xYRKZFxGuMCcZx7LRwOoBPAJ4lnvNHQC9wFdYngMm5TzDG/JuI/BJ4A/CIiLwP6xfvfmPMn62gPb0iUmuM6RaRWi79pffY7XVCpp33QjqBxpjvG4CumO8TuSYZdw1E5A6sIYKb7SEDSO41mM9yrgvAWMztEPanY7H+YkUnfwX4W2PM3St4/07g+/btHwDfiHnM6XONSvc5L6QTGDDGjAFjIvIU1s/iCfvxQub5mcxkjg6h2B9B3SKy2H+eD+i2x+TeBVw2likiG4DTxpgvY41L7gIeB24XkWr7OWtEpMm+/S8i8tK5x7Ffe4d9+w4uHZPbgvWxKWEZeN4LeQh4u4gUish6rJ7Mr+xjCbAWa+JnxTLtGojI64CPAbcaY8ZjHkraNZjPMq/LXO1YPUWwxuzz7duPAO8RkVIAEamPuSaPi0j9PMf6D+BV9u0buRiswMHfgVgZcM4L+SFwvYjkiUgx8GtAq32sCqDfGDOzguOlXTImMR8FXrHI418B7hCR57B+gMbmec7bgCMi8gKwDfgXY0wL8OfAoyJyGHgMqLWfvwvonuc4nwZeIyJtwGvs76NeCfx4uSe1DBlz3iLyZhHpBK4FfiwijwAYY44C38WaiX8Y+D1jTNh+2TXAczETf/HImGsA/APgBR6zx+C/Cim5BvNZ6rrM9c/AjSLyK6wgMwbWxCzwb1gf/V8Evgd4RcQFbAIuzHOsTwP/w37+3wLvi3nM6d+BWGk7ZxH5sP3z3wAcFpGv2cdqxfo/P4z1R/trxpjoH7BXAj9Z8Vmmm9NpLVgpPN90+riLvF8Z8MAKX1OIlZngWPpSNpz3Esf7EtZQg14D59uZ1OsC7AC+sMLX1ACPJ7FNGXfOSxzvQWBrstqbrK+k1EIRkfdgjVmGl3xyGtgz8fXGmCccPm5Gn/diROR3jDH/7MBxcv4aLHDsjLouIvISYMYY80IS3yOjznkhdtbM240x/5LutqyUFrNSSqkspbVQlFIqS2kAV0qpLKUBXCmlspQGcKWUylIawFVGsetUOLrjuFglRH/k5DGXeL87RWRFS9QlzpK69uv+50pfp1YHDeBKLUKWrng5nztJTo2R+TRjVdlTOUgDuEqIiPyJXNwk4P+JyH/bt28WkX8VkVtE5Fmxysc+ELMk+hqxCv7vF5FH7Fo1scd1icj9IvJJsTaI+JxcLCn6fvs5N9k99u+JtXnDt+zl8IjI6+z7ngHeskDb3SLyeRF50T7uh+z720XkL+zX/uYi5/AXdpuOiMg9Yrkdq4rit+wVoEULnat9/yEReRarfvZi13mhUryfxloe/oKI/NGK/wNVdkv3SiL9yu4v4GXYqyGBp7GWKOdjFcj/GFbVuBL78Y8Bf2E//gugyr7/bcDX7dtP2Mf8NvbmCsBdwJ/btwuxyqCuB24CRrCWTLuwKhm+AquQ0jmsOieCtXT+R/O0/YNYhZ6iGz+ssf9tB/7Evl053znEPt++/U3gTTHnsNe+vdi5HgZutG9/jkU2tQCKAY99ezOwz75903znpl+58ZV9WwipTLMfq0azF5gCDmD1QK/HKhx1JfBzu2NcgBVkt2IthX7Mvt/NpfVM7ga+a4z5lP39LcAuuVjw34cVxKaBXxljOgHs+inNwChwxhjTZt//r1h/BOZ6NfBVY9c+McbE1tWIljp92QLnAPBKEfkTrOC6BjiKtVFIrHnPVazSun5jzJP2874J/Po8bYzKZ+lSvCrHaABXCTHGzIhIO9bWXb/A6lW+EmsjgTPAY8aYS3a5EZGdwFFjzLULHPYXWMHx74wxk1i96A8ZYx6Zc5ybsP5oRIW5+DO9nCXGssjzxmKeM985eLCKc+01xpwTkb9i/hKqwjznKtYenStZBr1kKV6Ve3QMXDnhKeCj9r9PY+2q8wJWwbDrRGQTgIgUi8gW4DhQJSLX2vfni8j2mOPdi1UZ7gGxNpp9BPigiOTbz98iIiWLtOcYsF5ENtrfzwZfEXmpiERrXjwKfMB+D0RkzTzHWugcosF6wB4Tvz3mNUGsSogsdK7GmGFgRESiFfuW2mFooVK8se+lcowGcOWEp7HKuz5rjOnF6h0+bYzpx8rI+LZYZWCfA7YZY6axAt5nROQQVrC/ZH9MY8wXsIZjvgl8Dav86wGxUu3uZpFPj3av/S6sUrrPAGdjHl7HxU0MvgZ0YJUcPcQ82RyLnMMwVgnUF7Fqbj8f87L7gK/aQzruRc713cA/2pOYS22ssFAp3sNAyJ4M1UnMHKPFrFROEZHPYZU5PZzutiiVKA3gSimVpXQSU6kMIiKvBT4z5+4zxpg3p6M9KrNpD1wppbKUTmIqpVSW0gCulFJZSgO4UkplKQ3gSimVpf4/9fJIDbju39sAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# 周末和非周末，具体时间对比， 绘制成图形，否则不直观\n",
    "df.groupby(['weekend',df.index.hour])['count'].mean().plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>weekend</th>\n",
       "      <th>False</th>\n",
       "      <th>True</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>created_at</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>3.239120</td>\n",
       "      <td>3.467782</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1.668388</td>\n",
       "      <td>1.741849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1.162551</td>\n",
       "      <td>1.161826</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1.086705</td>\n",
       "      <td>1.050000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>1.155556</td>\n",
       "      <td>1.076923</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>1.136364</td>\n",
       "      <td>1.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.071429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>1.080000</td>\n",
       "      <td>1.144928</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>1.239011</td>\n",
       "      <td>1.254111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2.031690</td>\n",
       "      <td>1.992958</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>4.195845</td>\n",
       "      <td>4.031889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>6.668042</td>\n",
       "      <td>6.905772</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>8.260503</td>\n",
       "      <td>8.851321</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>8.934448</td>\n",
       "      <td>9.858422</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>8.466504</td>\n",
       "      <td>9.420550</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>6.784996</td>\n",
       "      <td>7.334743</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>6.717731</td>\n",
       "      <td>7.342150</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>8.655913</td>\n",
       "      <td>9.270430</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>10.536496</td>\n",
       "      <td>11.173609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>10.846906</td>\n",
       "      <td>11.695043</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>9.034164</td>\n",
       "      <td>10.419916</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>5.946834</td>\n",
       "      <td>7.025452</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "weekend         False      True \n",
       "created_at                      \n",
       "0            3.239120   3.467782\n",
       "1            1.668388   1.741849\n",
       "2            1.162551   1.161826\n",
       "3            1.086705   1.050000\n",
       "4            1.155556   1.076923\n",
       "5            1.136364   1.333333\n",
       "6            1.000000   1.000000\n",
       "7            1.000000   1.000000\n",
       "8            1.000000   1.071429\n",
       "9            1.080000   1.144928\n",
       "10           1.239011   1.254111\n",
       "11           2.031690   1.992958\n",
       "12           4.195845   4.031889\n",
       "13           6.668042   6.905772\n",
       "14           8.260503   8.851321\n",
       "15           8.934448   9.858422\n",
       "16           8.466504   9.420550\n",
       "17           6.784996   7.334743\n",
       "18           6.717731   7.342150\n",
       "19           8.655913   9.270430\n",
       "20          10.536496  11.173609\n",
       "21          10.846906  11.695043\n",
       "22           9.034164  10.419916\n",
       "23           5.946834   7.025452"
      ]
     },
     "execution_count": 67,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 周末和非周末数据叠加\n",
    "df.groupby(['weekend',df.index.hour])['count'].mean().unstack(level = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "df.groupby(['weekend',df.index.hour])['count'].mean().unstack(level = 0).plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
